Django基础篇
MTV:
URL: url的路径与视图函数的映射关系
http://jd.com/caidian/ caidian-----foo()
http://jd.com/car/ car---------bar()
http://jd.com/login/ login---------login()
views:
逻辑处理
models:与数据库相关的操作
template(模板): 与html文件相关的操作
创建项目命令:django-admin startprject 项目名
创建应用命令:python manage.py startapp appname
启动项目: python manage.py runserver IP PROT
mysite
manage.py 操作Django项目
mysite:
settings:配置
urls: 路径与视图的映射关系
wsgi: 创建socket(解析,封装数据的过程)
app01:
views: 存放视图函数
models:处理数据库
URL系统
URL配置就像Django所支撑网站目录,告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。
urlpatterns = [
url(正则表达式,views视图函数,参数,别名),
]
参数:
1、一个正则表达式字符串
2、一个可以调用对象,通常为一个视图函数或一个指定视图函数路径的字符串
3、可选的要传递给视图函数的默认参数(字典形式)
4、一个可选的name参数
视图函数:
request(请求对象):
request.GET {} get请求数据
request.POST {} post请求数据
request.POST.getlist()
request.method 请求方式
request.path 请求路径
request.get_full_path() 请求全路径
response(响应对象):
Httpresponse()
render(request,template_name,context):结合一个给定的模板和一个给定的上下文字典,并返回一个渲染后 的HttpResponse对象
template:模板
context:上下文对象
redirect(跳转,重定向)
redirect("/路径/")
模拟用户点击submit请求:
请求url:http://127.0.0.1:8000/login/
(1)请求url:/login/ POST
(2)url(r‘^login/‘, app01_views.login,name="LOGIN"),
(3)login(request): 验证 , if 成功: redirect("/index/")
重定向请求:
请求路径:http://127.0.0.1:8000/index/
(1) /index/ get
(2) url(r‘^index/‘, app01_views.index,name="index")
(3) index(request) : 取出数据库数据,渲染到index.html页面
用户看到的是:渲染的index.html页面
redirect与render的区别: redirect两次请求 render一次请求
tempalte(模板层):
功能: 为了更有逻辑的将数据库中的数据渲染到模板中