zoukankan      html  css  js  c++  java
  • 4、django 模板

    一、定义模板

     url 反向解析

    # 项目下的url配置
    
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'^booktest/',include('booktest.urls',namespace='booktest'))
    ]
    
    # 应用下的url配置
    urlpatterns = [
        url(r'^$',views.index,name="index"),
        url(r'^(d+)/(d+)$',views.show,name="show") # 加了()表示要取了浏览器里的参数
    ]
    
    # 视图函数
    def index(request):
        context = {'list':"a b c"}
        return render(request,'booktest/index.html',context)
    
    def show(request,id+id2):
        context = {'id':id+id2}
        return render(request,'booktest/show.html',context)
    
    # index.html
    <a href="{% url 'booktest:show' 123 456 %}">   url</a>   
    ###### {% '项目下urls中的namespace:应用下urls中的name' 需要传递的参数 %} # show.html {{id}}

     url反向解析的作用:

    动态生成url,减少维护工作量。

    当我们修改项目下的url路由配置的时候,只要namespace和name不变,html中定义的路由规则则不用修改。

    二、模板继承

    三、HTML转义

    四、CSRF

    # urls.py配置
    urlpatterns = [
        url(r'^csrf',views.csrf1),
    ]
    
    
    # views.py 
    def csrf1(request):
        return render(request,'booktest/csrf.html')
    
    def csrf2(request):
        uname = request.POST['uname']
        return HttpResponse(uname)
    
    # crsf.html
    <form action="csrf2" method="post" >
        {% csrf_token %}
    <input type="text" name="uname"><input type="submit" name="提交">
    </form>
    

    五、验证码

  • 相关阅读:
    自动化系列-pyppeteer安装
    用python做一个可视化生成二维码的工具
    Python第三方包之DingDingBot
    封装属于自己的Python包
    sqlldr使用
    MS MQ 消息队列
    PDF打印
    oracle 存储过程编辑 卡死
    winrar 压缩文件方法
    数值 转换 成 带千位符的数值,且转成大写
  • 原文地址:https://www.cnblogs.com/sunshine-long/p/12507538.html
Copyright © 2011-2022 走看看