一、应用
应用在Django项目中是一个独立的业务模块,可包含自己的路由、视图、模板、模型。
1、创建应用
(1)在manage.py中使用startapp创建应用文件夹
python3 manage.py startapp music
(2)配置settings.py
在settings.py的INSTALLED_APPS列表中配置安装此应用,例
INSTALLED_APPS = [
# …
‘music’,
]
二、分布式路由
Django中,主路由配置文件(urls.py)可不处理用户具体路由,主路由配置文件的可以做请求的分发(分布式请求处理)。具体的请求可有各自应用进行处理。
步骤1:主路由中调用include函数
语法:include(‘app名字.url模块名’)
作用:用于将当前路由转到各个应用的路由配置文件的urlpatterns进行分布式处理,如
from django.urls import path ,include
urlpatterns = [
# …
path(‘music/’, include(‘music.urls’)),
]
步骤2:应用下配置urls.py
应用下手动创建urls.py,如
from django.urls import path
from . import views
urlpatterns = [
# http://127.0.0.1:8000/music/index
path(‘index’,views.index_view),
]
例:
(a)项目名/项目名/urls.py
from django.contrib import admin
from django.urls import path, include
from . import views
urlpatterns = [
# http://127.0.0.1:8000/music/index
path('music/', include('music.urls'))
]
(b)应用名/urls.py
from django.urls import path
from . import views
urlpatterns = [
# http://127.0.0.1:8000/music/index
path('index', views.index_view)
]
(c)应用名/views.py
from django.http import HttpResponse
from django.shortcuts import render
def index_view(request):
return HttpResponse('音乐频道')
运行如下:
三、应用下的文件夹
1、应用内部可配置模板目录:
(1)应用下手动创建templas文件夹
(2)settings.py中开启应用模板功能
TEMPLATE配置项中的’APP_DIRS’值为True即可
2、应用下templates和外层templates都存在时,Django查找规则:
(a)优先查找外层templates目录下的模板
(b)按INSTALLED_APPS配置下的应用顺序逐层查找