• day_45_Django


    day45

    内容回顾

    #### 1. HTTP协议
    1. tcp/IP协议

    2. HTTP特性:

      1. 无连接

      2. 请求--响应模式

      3. 请求格式

    3. 响应格式

      1. Django相关

        1. Django下载

          1. 命令行:

            pip install django==1.11.20 # 指定版本号

            pip install django==1.11.20 -i 豆瓣源

          2. pycharm

            1. 打开file

            2. settings

            3. project

            4. 点击+号

            5. input输入名称

            6. 不需要指定版本(直接install)

            7. 在右侧S开头选择对应版本,安装即可。

        2. 创建项目(第一次)

          1. 命令行模式

            django-admin startproject 项目名称

          2. pycharm

            1. 打开file

            2. new project 选择django

            3. 在顶部选择项目路径以及,项目名称

            4. 选择解释器

            5. app应用名称

            6. create创建

        3. 创建app

          1. 命令行模式(manage.py 同级目录)

            python manage.py startapp app名称

          2. tools---> Run manage.py Task ----直接输入命令即可

        4. 启动项目

          1. 命令行模式

            python manage.py runserver # 127.0.0.1:8000

            python manage.py runserver 8888 # 127.0.0.1:8888

            python manage.py runserver 192.168.1.2:8001 # 192.168.1.2:8001

          2. pycharm

            1. 找到项目select

            2. 点击edit

            3. host和port---->ok

            4. 绿色右三角按钮

        static配置注意:

    今日概要

    1. 路由层

      1. 视图层

        1. 模板层

    今日详细

    1. 路由的简单使用

      urlpatterns = [
         path('admin/', admin.site.urls),
         path('login/', views.login),
         url(r'^articles/2003/$', views.article_2003),
         url(r'^articles/[0-9]{4}/$', views.article_year),

      ]
      1. 无名分组(按位置传参)


        url(r'^articles/([0-9]{4})/$', views.article_year),
      2. 有名分组(按关键字传参)

        1. 简单使用


          url(r'^articles/(?P<year>[0-9]{4})/$', views.article_year),

          注意事项:

          • 视图函数的形参,必须要跟有名分组的名称,同名,(顺序没有关系)

          • URL有几个分组,就必须要接收几个参数。

      3. 路由分发

        1. 简单使用

          1. 项目最顶级的URL配置


            from django.conf.urls import url  # 运用django1版本的URL
            from django.urls import path, re_path, include
            urlpatterns = [
               url(r'^app01/', include("app01.urls")),
               url(r'^app02/', include("app02.urls"))

            ]
          2. 每个APP应用里面新建urls.py文件


            from django.conf.urls import url
            from app01 import views

            urlpatterns = [
               url(r'^login/$', views.login)
            ]

            注意事项:

            1. 项目顶级URL,结尾不要加$;

              1. include参数字符串路径,必须要写正确。

    ​ URL、path、re_path区别:

    1. URL

      1. 自己定制匹配规则

        1. path

          1. 自动带开头和结尾匹配规则

            1. include,自动去掉后面的$,进行URL拼接

    2. re_path

      1. 等同于django1版本的URL。

    3. 视图层

      1. request对象

        1. 属性

          1. request.GET # 获取以GET请求方式,提交数据一个类似字典(QueryDict)

            request.GET.get("key") # 推荐写法

            request.GET.getlist("key") # 返回一个多值的列表

            request.GET["key"] # 不推荐,会报错

          2. request.POST # 获取以POST请求方式,提交数据一个类似字典(QueryDict)

            request.POST.get("key") # 推荐写法

            request.POST.getlist("key") # 返回一个多值的列表

            request.POST["key"] # 不推荐,会报错

          3. request.body # 请求体相关内容,原生的字节

          4. request.path # 获取URL路径,没有IP和端口

          5. request.method # 获取请求方式,大写

        2. 方法:

          1. get_full_path() # 获取URL的完整路径。

          2. is_ajax() # 返回布尔值,判断当前请求是否是ajax。

      2. HTTPResponse对象

        1. HttpResponse("想要显示的内容")

        2. render(request, "模板名称", [ 可选参数])

        3. redirect("要跳转的URL地址")

    4. 模板层

      1. 变量

        语法:{{ name }}

      2. 过滤器

        {{obj|filter__name:param}}

        1. default

          设置默认值,两个参数,

        2. length

          获取长度, 只需一个参数|前

        3. filesizeformat

          格式化文件尺寸,只需一个参数|前

        4. date:"Y-m-d"

          格式化是日期。一个参数

        5. truncatechars

          截取字符串,两个参数,后面截取长度。

        6. safe

      1. 标签

        1. for标签

          遍历每一个元素,展示数据

        2. if标签

          判断,从而影响,页面展示效果

        3. with标签

          定义一个中间变量

        4. csrf_token标签

          用于跨站请求伪造保护

      1. 自定制过滤器和标签

        1. 在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag.

        2. 在app中创建templatetags模块(模块名只能是templatetags)

        3. 创建任意 .py 文件

        4. 在使用自定义simple_tag和filter的html文件中导入之前创建的 my_tags.py

        5. 如何使用


          {% load my_tags %}  
               
          {% load my_tags %}

          {{ li.0|filter_multi:li.1 }}

          {% simple_tag_multi li.0 li.1 v3=li.2 %}

          <p>{% my_input 3 "aaa" %}</p>

          注意:filter可以用在if等语句后,simple_tag不可以

    今日作业

    ​ 运用今天所学的知识点,完成书籍展示页面(运用bootstrap的表格展示)

      数据见博客。

     

  • 相关阅读:
    企业大数据-之机器数据
    实践和感悟
    企业级大数据处理方案03-数据流程
    scala数据库工具类
    企业生产环境集群稳定性-HA就行吗?
    企业级大数据处理方案-02.环境决定需求、性能决定选型
    Scala编程之访问修饰符
    spark-submit提交参数设置
    window.location
    [转载]Arguments
  • 原文地址:https://www.cnblogs.com/yijue-lu/p/10526288.html
Copyright © 2020-2023  润新知