zoukankan      html  css  js  c++  java
  • django 视图与网址

    我是一个新手,内容粗糙,望大家多多指点。在这里我只是总结自身所学。

    视图与网址

    操作文件:urls.py、views.py

    urls.py

      作用:用于处理前台的链接(如前台访问:127.0.0.1:8080/index/1212/21212),其实永远访问的是同一个文件,至于结果则是通过urls处理,调用不同views中的不同函数,当然这些函数可以在urls中指定。

      主要格式:

          1.7:url(r'^add/$''calc.views.add', name='add'),

          1.8:url(r'^add/$', views.add, name='add'),

          2.0: path('add/', views.add, name='add'),

      注意:1.8和2.0需要将views导入到urls中,如 from app import views

      额外:可以在app中新建urls,通过include函数(2.0:from django.urls import include)使其有效(path('app/', include('app.urls')),)

      值得一提的是,每个路由都有一个name(如上:name="add")可写可不写,这里虽不是必须但也极其重要,他是前台链接的别名,即模板中可以使用这个name的值作为路由,需要和{% url %}一起使用。这样写的好处是,代码可维护性很高。

    views.py

      上面提到需要在urls中引入views模块,如:views.add,其实是在调用views中的add方法,这个方法很特殊,必须至少一个参数,而第一个参数作为数据请求的句柄,也就是request,在里面可以获取前端发来的请求,而且必须返回一个HttpResponse对象。

      作用:用于处理请求、数据库交互、模板调用等(内容很多)。

      调用模板(templates): 在views 的函数中最后加上return render(request, 'home.html')home.html即为模板名称,相应的在tempalates中必须有home.html文件,并且需要设置settings.py中的TEMPLATES变量,设置DIRS:'DIRS': [os.path.join(BASE_DIR,'Templates')],

      数据库模块:还没学,据说需要调用一个数据库框架,到时候再看看。

    Templates模块

    组成: 循环,条件判断,标签,过滤器等。

      循环:用法跟python一样,唯一区别在于需要{% for i in TutorialList %},结束需要 {% endfor %},不需要考虑缩紧问题

        循环中系统提供的变量:

    forloop.counter 索引从 1 开始算
    forloop.counter0 索引从 0 开始算
    forloop.revcounter 索引从最大长度到 1
    forloop.revcounter0 索引从最大长度到 0
    forloop.first 当遍历的元素为第一项时为真
    forloop.last 当遍历的元素为最后一项时为真
    forloop.parentloop

    用在嵌套的 for 循环中,

    获取上一层 for 循环的 forloop

    {% for i in TutorialList %}
    {{ i }}
    {% endfor %}
    

      

        

        

      

      

     

  • 相关阅读:
    基于Python的人脸动漫转换
    let 与 var的区别
    【LeetCode】汇总
    【HDU】4632 Palindrome subsequence(回文子串的个数)
    【算法】均匀的生成圆内的随机点
    【LeetCode】725. Split Linked List in Parts
    【LeetCode】445. Add Two Numbers II
    【LeetCode】437. Path Sum III
    【LeetCode】222. Count Complete Tree Nodes
    【LeetCode】124. Binary Tree Maximum Path Sum
  • 原文地址:https://www.cnblogs.com/hardykay/p/9941420.html
Copyright © 2011-2022 走看看