pip3 install flask

pycharm 创建项目

默认的代码解释说明(及开启debug模式)

#encoding:utf-8
from flask import Flask    #从flask框架中导入flask这个类 app = Flask(__name__)      #初始化一个flask对象,取名叫app,需要传递一个参数,(固定写法,__name__)
                   #1、方便flask框架去寻找资源 2、方便flask插件出现错误时,去定位问题 @app.route('/')          #装饰器,作用为url函数的视图函数的映射
def hello_world():
return 'Hello World!'    #将结果返回给浏览器 if __name__ == '__main__':
app.run(debug=True)            #启动应用服务器,设置debug模式,定为程序出问题时的位置

使用配置文件设置debug模式

#新建config.py文件(这里文件名称自定义,以后所有的配置信息均可添加到这里),添加:
DEBUG=True          #这里debug一定要大写 #主要py文件引用上述文件(flask_test.py)
#encoding:utf-8
from flask import Flask
import config          #引入上面创建的文件 app = Flask(__name__)
app.config.from_object(config)    #app加载文件 @app.route('/')
def hello_world():
return 'Hello World!' if __name__ == '__main__':
app.run(debug=True)

url传参数

#encoding:utf-8
from flask import Flask app = Flask(__name__)

#传递参数
@app.route('/p/<id>')          #参数需要放在“<>”中,并且要与函数中传入的参数同名
def p(id):                #加入参数,函数名称要与上面的路由名称相同
return '请求的参数 %s ' % id if __name__ == '__main__':
app.run(debug=True)

反转url

反转url主要用于模版和页面的重定向(从视图函数到url的转换)

#encoding:utf-8
from flask import Flask,url_for            #导入url_for app = Flask(__name__) @app.route('/')
def index(): print (url_for("p",id='abc'))    #url_for模块使用,这里的的p和test为下面定义的函数名,但是要以字符串的方式写进去,并且如果函数有参数,这里也要写上
print (url_for("test"))
return 'Hello World!' @app.route('/p/<id>')
def p(id):
return '请求的参数 %s ' % id @app.route('/test1/')
def test():
return "反转url测试 test" if __name__ == '__main__':
app.run(debug=True)

打印结果:

url跳转(重定向)及url反转功能应用

#encoding:utf-8
from flask import Flask,url_for,redirect              #导入redirect函数和url_for app = Flask(__name__) @app.route('/')
def index(): return '欢迎来到我的第一个flask首页' @app.route('/question/<is_login>')          #模拟是否登陆,传入参数is_login
def p(is_login):
if is_login == '1':                 #1为登陆成功,其他为失败,失败则跳转到登陆函数(下面的login)
return "跳转到问答界面成功"
else:
return redirect(url_for('login'))      #失败,跳转到登陆函数(界面) @app.route('/login/')                  #登陆函数
def login():
return "请登陆" if __name__ == '__main__':
app.run(debug=True)

#入口url
http://127.0.0.1:5000/question/1(参数)

url跳转及静态文件引入(css文件)示例

利用url_for 从index页面跳转到login页面,加载静态文件

index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
  <link rel="stylesheet" href="{{ url_for('static',filename='css/index.css') }}">    #加载、static目录下的css目录下的index.css文件
   <script src="{{ url_for('static',filename='js/index.js') }}"></script>         #加载js文件
<body>

  <div class="nav">
        <ul>
<li><a href="{{ url_for('login') }}">登陆</a></li>    #点击登陆从index跳转到login页面
<li><a href="#">发布问答</a></li>
       
</ul>
</div>
{% block main %} {% endblock %}
  <img  src="{{ url_for('static',filename='images/aa.jpg') }}">      #加载image文件
</body>
</html>

flask 安装及基础学习(url_for反转,静态文件引入)的更多相关文章

  1. Django基础,Day7 - 添加静态文件 static files

    添加css样式文件 1.首先在app目录下创建static文件夹,如polls/static.django会自动找到放在这里的静态文件. AppDirectoriesFinder which look ...

  2. springMVC3学习(四)--访问静态文件如js,jpg,css

    如果你的DispatcherServlet拦截的是*.do这样的URL,就不存在访问不到静态资源的问题 如果你的DispatcherServlet拦截了"/"所有的请求,那同时对* ...

  3. Asp .Net core 2 学习笔记(3) —— 静态文件

    这个系列的初衷是便于自己总结与回顾,把笔记本上面的东西转移到这里,态度不由得谨慎许多,下面是我参考的资源: ASP.NET Core 中文文档目录 官方文档 记在这里的东西我会不断的完善丰满,对于文章 ...

  4. django基础知识之管理静态文件css,js,images:

    管理静态文件 项目中的CSS.图片.js都是静态文件 配置静态文件 在settings 文件中定义静态内容 STATIC_URL = '/static/' STATICFILES_DIRS = [ o ...

  5. python的Web框架,Django模板变量,过滤器和静态文件引入

    HTML模板的路径查找 在setting中设置查找路径: #默认的查找在此处填写,优先级最高,为在manage.py的同级路径中,添加(常规是template)文件夹,在(template)文件夹中配 ...

  6. django模板层之静态文件引入优化

    1.新手使用 我们一般在初学django的情况下,引入django的静态文件一般有如下两种方式: 通过路径引用: <script type="text/javascript" ...

  7. EasyUI Tabs + Yii2.0实现iframe方式打开页面(解决共用静态文件引入加载的问题)

    在项目实际开发中,有将打开的各个链接页面隔离的需求(防止静态资源起冲突),这个时候常规思路就是使用iframe来实现!但遇到一个比较棘手的问题,当用easyui Tabs打开一个iframe页面时,怎 ...

  8. django框架中的静态文件引入

    首先在项目文件中新建文件夹static 之后在settings.py中配置路径 如下图所示: 下一步在你刚创建的static文件夹中添加app的文件夹名称,例如:teacher,如下图: 之后在tea ...

  9. 有关PHP安装,基础学习

    首先要安装 wamp 和 NavicatMySQLFront (要在非中文目录下) 打开DW 点击站点 ——新建站点:设置站点名称,选择本地站点文件夹:wap\www 服务器:添加 +    服务器名 ...

随机推荐

  1. 洛谷 P2119 魔法阵

    题目描述 六十年一次的魔法战争就要开始了,大魔法师准备从附近的魔法场中汲取魔法能量. 大魔法师有mm个魔法物品,编号分别为1,2,...,m1,2,...,m.每个物品具有一个魔法值,我们用X_iXi ...

  2. Cmder使用ls中文显示乱码解决方案

    操作系统:Windows 7 旗舰版 Cmder:1.3.2 默认配置不支持使用ls显示中文命名的文件列表. 解决方法: 按下Win+Alt+P打开设置. 在StartUp - Environment ...

  3. float数组转字符串实施方案小记

    float[] floats = {1.2f , 3.5f , 6.4f}; Double[] doubles = IntStream.range(0, floats.length).mapToDou ...

  4. Android InputType

    转载: http://blog.csdn.net/wei_zhi/article/details/50094503 在Android开发过程中,我们经常使用到EditText控件,并且会根据各种需求设 ...

  5. 【BZOJ3997】【TJOI2015】组合数学 Dilworth定理 DP

    题目描述 有一个\(n\times m\)的网格图,其中某些格子有财宝,每次从左上角出发,只能向下或右走.问至少走多少次才能将财宝捡完. 此对此问题变形,假设每个格子中有好多财宝,而每一次经过一个格子 ...

  6. Concurrent usage detected

    同一个公司里,使用studio 同时进行开发,而且账号还是同一个,会出现这种问题 也有说封掉8732端口就可以解决这个问题的,但是我尝试的是不行的 一直以来用的一个笨的但是有效的办法是:启动studi ...

  7. 【HDU-6148】 Valley Numer(数位dp)

    百度之星2017复赛1005 HDU-6148 Valley Numer 题意 不出现上升后直接下降数位的数,不超过n的有几个.前导零不算. 题解 dfs(当前数位的位置len,这位的数num,是否在 ...

  8. Nagios故障 CHECK_NRPE: Socket timeout after 10 seconds.

    Nagios 的警报信息如下,意思是 nrpe 进程执行某些脚本超过了 10 秒钟,就会发警报 CHECK_NRPE: Socket timeout after 10 seconds 修改 comma ...

  9. GuGuFishtion HDU - 6390 (杭电多校7E)

    啊啊啊啊...全在纸上 字丑...算了算了 然后除法部分都用逆元就好了 还有逆元打表....学到了...牛逼 #include<map> #include<set> #incl ...

  10. NOIp2018 游记

    作为一名蒟蒻,对于NOIp当然是不抱什么希望.所以就只能在比赛中吸取经验咯... Day0 害怕书到用时方恨少,疯狂打板子(玩电脑) Day1 来到考场了,发现键盘空格按不起,觉得非常尴尬,然后他告诉 ...