Django应用与分布式路由

应用,项目中的独立业务模块,可以保函自己的路由、视图、模板、模型。

一、创建应用

(一)创建应用文件夹

python manage.py startapp [应用名]

(二)settings配置

在settings.py的INSTALLED_APPS中注册

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

二、分布式路由

主路由文件不处理用户具体路由,做请求分发,具体的请求由子路由进行处理。

(一)主路由调用include函数

from django.urls import path, include
from . import views
urlpatterns = [
    path('music/', include(music.urls))

(二)创建子路由

进入app文件见创建urls.py文件

from django.urls import path
from . import views

urlpatterns=[
    path('index',views.index_view)
]

三、应用及分布式路由案例

主路由新增两个music、sport

from django.urls import path, include
from . import views
urlpatterns = [
    path('admin/', admin.site.urls),
    path('test_static', views.homepage),
    path('music/', include('music.urls')),
    path('sport/', include('sport.urls')),
]

创建两个APP后,在settings.py中注册

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'music',
    'sport',
]

在music、sport文件夹中创建子路由文件urls.py

from django.urls import path
from . import views
urlpatterns = [
    path('index', views.index_view)
]

完成sport/views.py视图层配置

from django.http import HttpResponse

# Create your views here.
def index_view(request):
    return HttpResponse('这是体育频道')

四、应用下的模板

调用应用下的模板

  1. 应用下手动创建templates文件夹
  2. 在settings.py中开启引用模板功能,即主站settings.py的TEMPLATE配置中的’APP_DIRS’为True
    应用层和外层模板文件夹同时存在是,先找外层模板,然后按照INSTALLED_APPS配置下的应用顺序逐层查找
    可以通过在APP/TEMPLATES文件夹新建一个与APP同名的文件夹来区别,render视图改为"news/index.html"
    Django应用与分布式路由_第1张图片

你可能感兴趣的:(后端的自我修养,django,分布式,python)