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 %}
    

      

        

        

      

      

     

  • 相关阅读:
    基本的Dos命令
    OneCloud记录
    Wireguard笔记
    windows网络流量监控
    CoreDNS笔记
    Goland 使用[临时]
    js for循环的同步代码
    看我如何用微信上线CobaltStrike
    图数据库 Nebula Graph 在 Boss 直聘的应用
    熵池 在计算机科学与金融学中的应用
  • 原文地址:https://www.cnblogs.com/hardykay/p/9941420.html
Copyright © 2011-2022 走看看