Django 知识点回顾
1. COOKIE操作
COOKIE是保存在客户端本地存储的键值对
2. SESSION操作
SESSION
3. URL路由
-/index/----> views.函数
4. MTV models templates views
5. views中的返回方式
-render(request,"模板路径",locals())
-redirct("URL")
-HttpResponse("具体的内容")
6. 启动命令
python manage.py runserver 端口号
7. 创建project
django-admin startproject [project名称]
python manage.py startapp [app名称]
8. URL中的别名
("/index/",func,name="XXXX")
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,3,4,6]})
index.html:
{{ arg.2 }} #取arg的第三个元素
11. 数据库链接修改mysql
默认:MySQLDB
修改:pymysql
修改方法:import pymysql
pymysql.install_as_MySQLdb()
12. 模板继承
block
extends
13. request参数
-request.method
-request.GET
-request.POST
-request.POST.getlist("hobby")
14. 外键
15. 操作数据表
python manage.py makemigrations
python manage.py migrate
16. 在html中使用别名代值静态文件路径
17. 路由分发
18. 数据操作
models.Tb.objects.all().delete() 删除
models.Tb.objects.filter(条件).delete()
19. 外键的添加
class A(models.Model): 部门表
name = charfiled(max_length=16,null=True,blank=True)
class B(models.Model): 员工表
title = charfiled
fk=ForeginKey(A)
models.B.objects.create(title="1",fk=models.A.objects.get(id=1)) #向B表中添加内容
models.B.objects.create(title = "1",fk_id=1) #第二种形式
20. 外键关联删除
21. URL匹配
[
("/index.html/(?P<nid>\d+)"),func
]
views.py
def func(requset.nid)
pass
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</>
{{ k1}}
{{ k2|safe }}
页面输出:
v1
v2(加大加粗)
26.
obj=models.Tb.objects.get(id=1)
obj.name="新名字"
obj.save
obj.Tb.objects.filter(id=1).update(name="新名字")
27. 多表查询 双下划线跨表
28.
29. URL,namespace
30.