学到什么程度才算会django了?这篇文章帮你梳理一下
关于django2的28个不可不知的知识点总结:
1.cookie操作:
-客户端本地存储的键值对
2.session操作:
-服务器端可以保存在文件、缓存、变量、数据库……中。
3.URL路由:
-/index --->views.函数
4.MTV:
model、template、view
5.View的返回方式:
-HttpResponse("内容")
-render(request,‘模板路径‘,{})
-redirect(‘URL‘)
6.启动:
python manage.py runserver
7.创建project:
django-admin startproject [project名称]
python manage.py startapp [app名称]
8.URL中有别名:
[
path(‘index/‘,func,name=‘xxoo‘,
]
9.settings.py 中的配置:
STATICFILES_DIRS=(
os.path.join(BASE_DIR,‘static‘),
)
10.模板:
{{变量}}
{% for ,if %}
views.py:
def func(request):
return render(request,‘index.html‘,{‘arg‘:[1,2,3,4]})
在前端取第三个
html:
{{arg.2}}
11.数据库连接修改mysql:
默认:MYSQLDB
修改:pymysql
12.模板继承:
bolck
extends
13.request参数:
-request.method
-request.GET
-request.POST
-request.POST.getlist
14.外键
15.操作数据表:
python manage.py makemigrtions
python manage.py migrate
16.在html中使用别名代替静态文件路径
17.路由分发
18.数据操作:
models.TB.objects.all().delete()
models.TB.objects.filter(条件).delete()
19.外键的添加:
class A(models.Model): name=c class B(): title=‘1‘ fk=FK(A) models.B.objects.create( title=‘1‘, fk_id=1 )
20.外键关联删除
21.URL匹配:
path(‘reset/<str:active_code>‘,ResetView.as_view(),name=‘reset_pwd‘),
22.ORM:
-Models中操作
-shell中操作
对象=models.TB.objects.get(id=1)
[对象,]=models.TB.objects.filter(id=1)
23.CSRF
24.自定义标签
25.XSS攻击:
views.py: def func(request,nid): return render(request,‘x.html‘,{‘k1‘:‘v1‘,‘k2‘:"<h1>v2</h1>"}) x.html: {{k1}} {{k2}} 页面输出: v1 <h1>v2</h1> {{k1}} {{k2|safe}} 页面输出: v1 v2(加大加粗)
26.修改数据的两种方式:
1. obj=models.TB.objects.get(id=1) obj.name=‘新名称‘ obj.save() 2. models.TB.objects.filter(id=1).update(name=‘新名称‘)
27.多表查询 双下划线跨表
28.URL namespace