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. 

  

 

posted @ 2018-12-18 22:23  阜阳小全  阅读(100)  评论(0编辑  收藏  举报