• 54.1 怎样才算学会django? 知道这28个知识点才算会django2


    学到什么程度才算会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

      

  • 相关阅读:
    基于element-ui图片封装组件
    计算时间间隔具体每一天
    C语言学习笔记 —— 函数作为参数
    AtCoder Beginner Contest 049 题解
    AtCoder Beginner Contest 048 题解
    AtCoder Beginner Contest 047 题解
    AtCoder Beginner Contest 046 题解
    AtCoder Beginner Contest 045 题解
    AtCoder Beginner Contest 044 题解
    AtCoder Beginner Contest 043 题解
  • 原文地址:https://www.cnblogs.com/xuepangzi/p/8487158.html
Copyright © 2020-2023  润新知