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())

]

 

posted @ 2019-11-06 23:53  帅瓶子  阅读(793)  评论(0编辑  收藏  举报