flask 安装及基础学习(url_for反转,静态文件引入)
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反转,静态文件引入)的更多相关文章
- Django基础,Day7 - 添加静态文件 static files
添加css样式文件 1.首先在app目录下创建static文件夹,如polls/static.django会自动找到放在这里的静态文件. AppDirectoriesFinder which look ...
- springMVC3学习(四)--访问静态文件如js,jpg,css
如果你的DispatcherServlet拦截的是*.do这样的URL,就不存在访问不到静态资源的问题 如果你的DispatcherServlet拦截了"/"所有的请求,那同时对* ...
- Asp .Net core 2 学习笔记(3) —— 静态文件
这个系列的初衷是便于自己总结与回顾,把笔记本上面的东西转移到这里,态度不由得谨慎许多,下面是我参考的资源: ASP.NET Core 中文文档目录 官方文档 记在这里的东西我会不断的完善丰满,对于文章 ...
- django基础知识之管理静态文件css,js,images:
管理静态文件 项目中的CSS.图片.js都是静态文件 配置静态文件 在settings 文件中定义静态内容 STATIC_URL = '/static/' STATICFILES_DIRS = [ o ...
- python的Web框架,Django模板变量,过滤器和静态文件引入
HTML模板的路径查找 在setting中设置查找路径: #默认的查找在此处填写,优先级最高,为在manage.py的同级路径中,添加(常规是template)文件夹,在(template)文件夹中配 ...
- django模板层之静态文件引入优化
1.新手使用 我们一般在初学django的情况下,引入django的静态文件一般有如下两种方式: 通过路径引用: <script type="text/javascript" ...
- EasyUI Tabs + Yii2.0实现iframe方式打开页面(解决共用静态文件引入加载的问题)
在项目实际开发中,有将打开的各个链接页面隔离的需求(防止静态资源起冲突),这个时候常规思路就是使用iframe来实现!但遇到一个比较棘手的问题,当用easyui Tabs打开一个iframe页面时,怎 ...
- django框架中的静态文件引入
首先在项目文件中新建文件夹static 之后在settings.py中配置路径 如下图所示: 下一步在你刚创建的static文件夹中添加app的文件夹名称,例如:teacher,如下图: 之后在tea ...
- 有关PHP安装,基础学习
首先要安装 wamp 和 NavicatMySQLFront (要在非中文目录下) 打开DW 点击站点 ——新建站点:设置站点名称,选择本地站点文件夹:wap\www 服务器:添加 + 服务器名 ...
随机推荐
- 【建模应用】PCA主成分分析原理详解
原文载于此:http://blog.csdn.net/zhongkelee/article/details/44064401 一.PCA简介 1. 相关背景 上完陈恩红老师的<机器学习与知识发现 ...
- linux拷贝多个目录下的文件到同一个目录
拷贝a目录下的a.txt和b目录下的b.txt到c目录 cp -a \ /root/a/a.txt \ /root/b/b.txt \ /root/c/
- Django+Xadmin打造在线教育系统(七)
全局导航&个人中心&全局搜索 配置全局导航 让index页面也继承base页面,注意首页有个单独的__index.js__ base页面的导航栏也进行配置 <nav> &l ...
- bzoj 2054: 疯狂的馒头(线段树||并查集)
链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2054 线段树写法: 点的颜色只取决于最后一次染的颜色,所以我们可以倒着维护,如果当前区间之前 ...
- IDEA如何查看maven的依赖结构
打开方式: 方法一:该工具有个Maven Projects窗口,一般在右侧能够找到,如果没有可以从菜单栏打开:View>Tool Windows>Maven Projects:选择要分析的 ...
- python3 文件和流
流: 打开文件: open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, ...
- poj3926 parade (单调队列+dp)
题意:有n行路,每行路被分成m段,每一段有长度和权值,要求从最下面一行走到最上面一行某个位置,可以从相邻两行的同一列交点往上走,并且在同一行走的长度要<=K,求走过的最大权值 设f[i][j]为 ...
- Chemical table CFR500 div2D(并查集)
给定的一个n*m的区域内,给出一些点的坐标,这些点上有一个元素,如果在矩形的子矩形的三个点都有元素,那么第四个点的元素可以自己产生,其他的元素需要购买,问最少需要购买多少中元素才可以把这个区域给填满. ...
- 逆元(inv)
当求解公式:(a/b)%m 时,因b可能会过大,会出现爆精度的情况,所以需变除法为乘法: 设c是b的逆元,则有b*c≡1(mod m): 则(a/b)%m = (a/b)*1%m = (a/b)*b* ...
- poj2524(并查集水题)
题目链接:http://poj.org/problem?id=2524 题目大意:学校共有n个同学,告诉你m对同学信仰同一宗教,问这个学校学生信仰宗教的数目最多为多少. 例: Sample Input ...