1.url.py 路由系统
正则:
分组匹配
分组命名匹配
分级路由:
include
给路由起别名:
name=‘xxx’
反向解析url
view
from django.urls import reverse
reverse('xx',args=[])
reverse('xx',kwargs={'k’:'v})
2.view.py 视图系统
request
request.method
request.GET - URL里边的参数
request.POST --- post请求里的数据
request.path_info ----- 路径
request.get_full_path() ------ 路径里加参数
response
新手必备三件套
render(request,'xx.html',{'x':'x'})
Httpresponse('hello world')
redirect('/index/') ----重新定向
redirect('http://www.baidu.com')
from django.http import JsonResponse
JsonResponse()
FBV和CBV
函数装饰器和方法装饰器的区别
3.模板
filter
内置的filter方法
自定义的filter方法
tag
内置的tag
自定义simpleTag
自定义inclusionTag
模板和继承
{% extend 'base.html'%}
{% block page-main %}
{% block small%}
{%endbolck small%}
{%endblock page-main%}
组件{%includ nav%}
静态文件相关的tag
在模板语言里反向解析url
{% url 'url的别名' xx %}
4.ORM
对应关系
类---数据表
对象--数据行
属性--字段
Django连接MySQL数据库的步骤:
1.手动创建数据库
2.配置setting.py中数据库的连接信息
3.修改setting.py同目录下__init__.py文件,添加两句
import pymysql
pymysql.install_as_MySQLdb()
4.在app下面的models.py中定义类和属性,类一定要继承models.Model
5.执行两句命令
python manage.py makemingrations
python manage.py migrate
操作数据表
操作数据行(增删改查)
单表
外键
多对多
一对一
ORM高级:
常用字段和方法
必知必会13条
神奇的双下划线
跨表正向查询反向查询
F和Q
聚合和分组
事务
执行原生SQL语句
5. Cookie和Session,分页
6.AJAX
$.ajax({
url:'',
type:'post',
data:{'k1':JSON.stringify([1,2,3])},
success:function(data){}
})
7.form表单
8.中间件