zoukankan      html  css  js  c++  java
  • Django创建应用以及路由的配置

    Django简介:是一个开放源代码的web 应用框架,由python 写成。初次发布于2005年7月,并于2008年9月发布了第一个正式版本1.0.

    文件说明:
    manage.py:一个命令行工具,可以使我们用多种方式对Django的工程进行交互。
    project: __init__.py:一个空文件,告诉python这个目录应该被看成一个包
    settings.py:工程的配置文件
    urls.py:工程的URL声明(主URL控制器)
    wsgi.py:工程与WSGI兼荣的web服务器入口
    数据库的配置:注意:Django 默认使用SQLite数据库
    在settings.py文件中,通过DATABASES,选项进行数据库的配置
    启动服务:python manage.py runserver

    1.dj 创建子应用

     

    2.创建完成子应用后,还要进行注册才可以

    1.找到settings.py 文件

    2.注册子应用

    注意:其实导入的就是apps 的 ProjectsConfig 类

    3.注册视图

    1.在views.py 里面注册视图

    from django.http import HttpResponse

    # Create your views here.

    def index(request):

        """

        第一个视图函数

        :return:

        """

        return HttpResponse("<h1>Hello,你好测开大佬</h1>")

    4.配置路由

       全局路由

       1.导入应用

        2.配置路由

    引入视图的类

    from projects.views import index

    urlpatterns = [

        path('pro/', index)

    ]

    5创建的子应用的各个文件的作用

    1.admin.py   相当于控制台

    2.apps.py进行应用配置

    3.models.py定义数据库模型,跟数据库交互都在这里

    4.test.py单元测试

    5.views.py存放视图

    6.创建子路由

    1.首先在子应用里面新建urls.py 文件夹,用来存放路由

    2.然后再urls 文件夹里面配置路由

    from django.urls import path

    from pro_01.views import index_02

    urlpatterns = [

        path('', index_02)

    ]

    3.在全局路由里面导入

    from django.urls import  include

    配置路由

    urlpatterns = [

        path('pro_01/', include('pro_01.urls'))

    ]

    4.然后根据全局配置的路由,就会一级级去寻找子路由

    总结:1.每一个应用模块都会维护一个子路由

       2.跟主路由一样,也是从上到下进行匹配

       3.能匹配上,则执行path第二个参数指定的视图,匹配不上,则抛出404异常

    注意:子路由不能再嵌套路由,可以写多级子路由

    视图函数

    def index_01(resquest):

        """

        视图函数,该视图函数支持所有请求的方法

        :param resquest:resquest是HttpRequest对象,包含前端用户的所有请求信息

        :return: 必须返回一个HttpResponse对象或者子对象

        """

        return HttpResponse("<h1>练习注册视图函数</h1>")

    注意:需要在settings.py 文件里面注释掉 MIDDLEWARE 里面的

    django.middleware.csrf.CsrfViewMiddleware'

    视图函数如果我们支持多种请求方法的话,视图函数不便于维护,我们可以借助类函数

    更好的创建各种请求

    类函数

    from django.views import View

    class IndexView(View):

        def get(self, request):

            return HttpResponse("<h1>这是get请求方法</h1>")

        def delete(self, request):

            return HttpResponse("<h1>这是get请求方法</h1>")

        def put(self, request):

            return HttpResponse("<h1>这是get请求方法</h1>")

        def post(self, request):

            return HttpResponse("<h1>这是get请求方法</h1>")

    (注意:我们可以适用alt+enter 快捷键来导入类,直接写好要导入的类的名字,然后按快捷键就行)

    子路由视图配置:

    1.我们需要导入子应用的视图模块

    2,然后在path里面根据 views.写好的类视图.as_view()   as_view() 一定要加括号,不然会报错

    from pro_01 import views

    urlpatterns = [

        # path('', index_02)

        path('', views.IndexView.as_view())

    ]

  • 相关阅读:
    Golang 实现简单的 Web 服务器
    Aliyun linux repo文件
    云服务器查看登录ip和本机出口ip
    10个高效Linux技巧及Vim命令对比
    使用mkfs.ext4格式化大容量磁盘
    LINUX SHELL 多个命令一起执行的几种方法
    GPT分区
    3种方法更改Linux系统的主机名(hostname)
    Nginx代理访问RDS
    Centos7安装Docker
  • 原文地址:https://www.cnblogs.com/666666pingzi/p/11809564.html
Copyright © 2011-2022 走看看