• 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>
    

    五、验证码

  • 相关阅读:
    unicode下各种类型转换CString、string
    单元测试简介
    linux系统目录详解
    Python 几个重要的内置函数
    python join split
    将博客搬至CSDN
    COCOS2DX3.0的3种触摸响应机制
    [转] 千万别在最能吃苦的年纪选择安逸
    明白什么是“五险一金”
    MAC 安装更新 ANT
  • 原文地址:https://www.cnblogs.com/sunshine-long/p/12507538.html
Copyright © 2020-2023  润新知