zoukankan      html  css  js  c++  java
  • 玩转 Django2.0 笔记1

    模板静态

     

     路由

     

    urls.py
    urlpatterns = [
    
        path("<year>/<int:month>/<slug:day>",mydate),
        re_path("(?P<year>[0-9]{4}).html",myyear,name='myyear'),
    
    ]
    
    views.py
    
    def mydate(request,year,month,day):
        print(year,type(year))
        print(month,type(month))
        print(day,type(day))
        return HttpResponse(str(year) + "/" + str(month) + "/" + str(day))
    
    def myyear(request,year):
        return render(request,"myyear.html")
    
    myyear.html
     <div><a href="/2018.html">2018 old Archive</a></div>
        <!--myyear 为url名 与urls.py 所设置的参数name 一一对应,
        2018 为该url的变量
        -->
        <div><a href="{% url 'myyear' 2018 %}">2018 Archive</a></div>

    视图

    Django采用MTV的框架模式,即模型(Model)、模板(Template)和视图(Views),三者之间各自负责不同的职责。

    • Model模型,数据存取层,处理与数据相关的所有事务,例如如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。
    • Views视图,表现层,处理与表现相关的决定,例如如何在页面或其他类型文档中进行显示。
    • Template模板,业务逻辑层,存取模型及调取恰当模板的相关逻辑,模型与模板的桥梁。

      视图是Django的MTV架构模式的V部分,主要负责处理用户请求和生成相应的响应内容,然后在页面或其他类型文档中显示。也可以理解为视图是MVC架构里面的C部分(控制器),主要处理功能和业务上的逻辑。
      视图函数完成请求处理后,必须通过return方式返回数据内容给用户,常用的返回方式由render()、render to response()和redirect()函数实现。其中,render()和render_to_response()实现的功能是一致的。render_to_response()自2.0版本以来已开始被弃用,并不代表在2.0版本无法使用,只是大部分开发者都使用render()。render()语法如下

    render(request,template_name,context =None,content type=None,status=None,using=None)

    render()的参数request和template_name是必需参数,其余的参数是可选参数。

    各个参数说明如下。

    • request:浏览器向服务器发送的请求对象,包含用户信息、请求内容和请求方式等。
    • template_name:HTML模板文件名,用于生成HTML网页。
    • context:对HTL模板的变量赋值,以字典格式表示,默认情况下是一个空字典。
    • content type:响应数据的数据格式,一般情况下使用默认值即可。
    • status:HTTP状态码,默认为200。
    • using:设置HTML模板转换生成HTML网页的模板引擎。

  • 相关阅读:
    阿里风控大脑关于大数据应用的探索与实践
    MaxCompute
    Lyft 基于 Flink 的大规模准实时数据分析平台(附FFA大会视频)
    基于MaxCompute InformationSchema进行血缘关系分析
    阿里经济体大数据平台的建设与思考
    厉害了!阿里云首批通过边缘云标准符合性测试
    边缘计算和“寒武纪”有什么关系?阿里云资深专家刘强如是说
    阿里云荣获最佳智能边缘计算技术创新平台
    阿里云杨敬宇:四层技术构建基于城市场景的边缘计算
    阿里云移动研发平台 EMAS 助力银行业打造测试中台,提升发版效能
  • 原文地址:https://www.cnblogs.com/songdanlee/p/11503686.html
Copyright © 2011-2022 走看看