• Django学习之一(django的下载和项目创建)


    1. django下载

      a 命令行模式

        pip3 install django # 下载最新版本
        pip3 install djagno==1.11.16 # 下载指定版本
        pip3 install django -i 豆瓣源

      b. pycharm

        file-->settings--->project ----> 点击+---->Django---->install

    2. 创建第一个项目

      a. 命令行

        django-admin startproject 项目名称

      b. pycharm

        file-->New project --->左边选择Django--->右边上面第一行设置路径和项目名称----> 选择解释器---->指定APP名称--->create

    3. 创建APP

      "高内聚,低耦合"

      a. 命令行

      python manage.py startapp 项目名称

      # 注意:
          命令行创建的APP需要手动注册

       添加app01的配置:(setting 文件)

        INSTALLED_APPS = [
          'django.contrib.admin',
          'django.contrib.auth',
          'django.contrib.contenttypes',
          'django.contrib.sessions',
          'django.contrib.messages',
          'django.contrib.staticfiles',
           # 注册方式;
          # "app01",
          'app01.apps.App01Config', # 推荐这种方式
          ]  

        

      b. pycharm

        同上pycharm创建项目时指定

      注意:templates文件拼接,(html文件直接放入templates文件夹中,不需要添加任何文件夹

     4.添加配置文件:

        statics,下面放文件夹:css,images,js,plugins(pep8 python开发规范)

    5. 启动项目: 

      a.命令行

        python manage.py runserver # 127.0.0.1:8000 默认
        python mange.py runserver 80 # 127.0.0.1:80
        python manage.py runserver 0.0.0.0:8888 # 0.0.0.0:8888# 注意:要在manage.py同级目录执

      b. pycharm

        右上角的绿色三角按钮

        在edit进行修改配置

    6. 路由层

      a. 分组

        a1. 无名分组

          re_path(r'^articles/([0-9]{4})/$', views.articles_year), # 无名分组,按位置传参

        a2. 有名分组

          re_path(r'^articles/(?P<year>[0-9]{4})/$', views.articles_year), # 有名分组,按关键字传参

      b. 反向解析

        b1. 基本使用

          path("login2/", views.login, name="Login"),
          # 在python代码使用反向解析
          from django.urls import reverse
          reverse(name)
          # 在模板里使用反向解析  [html文件]
          {% url 'name' %}

        b2. 无名分组的反向解析

          re_path(r'^articles/([0-9]{4})/$', views.articles_year, name="ar_year"),
          # 在python代码使用反向解析
          from django.urls import reverse
          reverse("ar_year", args=(2019,))
          # 在模板里使用反向解析
          {% url 'ar_year' 2019 %}

        b3. 有名分组的反向解析

          re_path(r'^articles/(?P<year>[0-9]{4})/$', views.articles_year, name="ar_year"),
          # 在python代码使用反向解析
          from django.urls import reverse
          reverse("ar_year", kwargs={"year": 2018})
          # 在模板里使用反向解析
          {% url 'ar_year' year=2018 %}

        b4. 名称空间

          path("app01/", include(("app01.urls", "app01"))), # /app01/test/
          path("app02/", include(("app02.urls", 'app02'))),
          # 在python代码使用反向解析
          from django.urls import reverse
          reverse("app01:name")
          # 在模板里使用反向解析
          {% url 'app01:name' %}

    7. 视图层

      a. request请求对象

        a1. 对象的属性

          request.GET

          request.POST
          request.body # 原生的请求体的内容
          request.path # 获取当前请求的url
          request.method # 获取当前请求的方式

      

        a2. 对象的方法

          get_full_path() # 获取当前请求的完整url
          例子:
          1111 /app01/login2/
          5555 /app01/login2/?name=liuzhihua&age=18
          is_ajax() # 判断当前请求是否是ajax请求, 返回值为布尔
      b. HTTPResponse响应对象(响应三剑客)

        b1.- render 返回模板文件

          必须参数:

            - request
            - 模板文件
            - 可选参数(数据)

            - HTTPResponse

            返回字符串

        b2.- redirect

          重定向

            ![1572770043580](assets/1572770043580-1572771834207.png)

  • 相关阅读:
    JSTL&EL
    Response
    HTTP、Request
    Tomcat、Servlet
    单片机概念及应用
    JQuery高级
    Jquery基础
    JavaScript
    HTML、CSS
    跟着文档学习gulp1.2创建任务(task)
  • 原文地址:https://www.cnblogs.com/vivian0119/p/11817405.html
Copyright © 2020-2023  润新知