Django 的应用创建及路由配置

Django的应用创建及路由配置

1、 概念

  • 应用是网站中的一个独立的模块,包含独立的显示信息
  • 在项目主文件夹中一般不处理其他的请求,主要只是做初始化设置以及地址的分发,实际操作中,会将请求,交给不同的应用处理

2、创建应用

  • 第一步:python manage.py startapp appName
  • 第二步:在settings.py中注册应用。即在INSTALLED_APPS中追加应用名称
    在这里插入图片描述   在这里插入图片描述

3、应用的结构

  • migrations 目录:存放日志文件,是一个Django与数据库交互的中间文件
  • _init_.py:应用的初始化文件
  • admin.py:应用的后台管理配置文件
  • apps.py:属性设置文件
  • models.py:Models模型文件
  • tests.py:测试模块
  • views.py:自定义视图函数的文件

4、主路由配置调用应用目录中的视图过程

  • 方案一:由主目录中的urls文件找到应用目录中的views文件,直接调用函数
浏览器 服务器 项目主目录 应用目录 发送请求(request) 寻找主目录urls.py 寻找应用目录中views.py 主urls文件直接调用views文件中的函数,响应给浏览器(response) 浏览器 服务器 项目主目录 应用目录
from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.
# 应用目录的views文件
def login_view(request):  # 定义视图函数
    return HttpResponse("login")

# 主路由文件
from django.contrib import admin
from django.conf.urls import url

# index应用中和news应用中存在同名的视图函数解决方案
from index import views as index  # 在主目录的urls文件中导入index应用的views模块
from news import views as news

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^index/login/$', index.login_view),  # 通过主路由调用应用中的视图函数
    url(r'^news/login/$', news.login_view)
]
  • 方案二:由主目录的urls文件找到应用目录的urls文件,再由应用中urls文件调用views文件中的函数
浏览器 服务器 项目主目录 应用目录 发送请求(request) 寻找主目录urls.py 寻找应用目录中urls.py 应用的urls.py调用自己的views函数,响应给浏览器(response) 浏览器 服务器 项目主目录 应用目录
# 主路由文件(urls.py)
from django.contrib import admin
from django.conf.urls import url, include

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^index/', include('index.urls')),  # IP:PORT/index 全部分配到index应用的urls文件中
    url(r'^news/', include('news.urls'))  
]

# index应用中的路由文件(urls.py)
from django.conf.urls import url

from index.views import *

'''index应用中的urls文件'''
urlpatterns = [
    url(r'^login/$', login_view),
    # 在主路由中已经匹配到 IP:PORT/index了,这里不需要写index
]
发布了75 篇原创文章 · 获赞 87 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43883022/article/details/89552401
今日推荐