Django值应用和分布式路由
1.分布式路由
引入了應用的概念后,每一個應用就有自己的MTV,我們具體來看看如何使用應用。創建應用:
#創建應用 djang-admin startapp music #注冊應用,在settings.py中的INSTALLED_APPS中注冊一個應用 INSTALLED_APPS = [...'django.contrib.staticfiles','music', ]要將應用添加到項目中,需要在INSTALLED_APP設置中增加指向該應用的配置文件的鏈接。對于本例中music應用,它的配置文件MusicConfigs位于music/app.py腳本內,所以配置的路徑為music. apps. MusicConfig。多數情況下直接配置為music
F:\Django\DjangoStudy\mysite3>django-admin startapp music項目層架目錄如下所示:
Django中,主路由配置文件(urls.py)可以不處理用戶具體路由,主路由配置文件做請求的分發,具體的請求可以由各自用的應用來處理。
具體如何配置:
因此第一步在主路由配置分布式路由,即在項目同名文件夾二級目錄下的urls.py中新增
from django.contrib import admin from django.urls import path, include from . import viewsurlpatterns = [path('admin/', admin.site.urls),path('test_static',views.test_static),# http://127.0.0.1:8000/music/indexpath('music/',include('music.urls')) ]在應用music中手動新增一個urls.py子路由文件
from django.urls import path from music import viewsurlpatterns = [path('index',views.index_view) ]在應用music的視圖函數views.py中新增一個函數index_view
from django.http import HttpResponse from django.shortcuts import render# Create your views here. def index_view(request):return HttpResponse('這是音樂頻道首頁')
接著繼續創建sport和news兩個應用,按照music的邏輯,注冊路由,添加視圖函數和子路由等
2.應用模板
在文章的開頭,每一個應用都有自己的的MTV,因此還是需要手動創建一個templates文件夾。這里注意如果外層有同名的html文件,會優先匹配外層templates中的html,如果外層的templates文件夾中沒有匹配到的html文件,接著在settings.py中INSTALLED_APPS中,按照注冊順序,依次進行匹配。因此這里創建html文件的目錄的時候,可以先創建templates文件夾,在templates下再創建一個應用同名文件夾。
同時,調整下news下視圖函數
news/templates/news下的index.html文件如下:
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>這是新聞頻道</title> </head> <body>這是新聞頻道首頁,使用templates/news </body> </html>項目代碼見:https://download.csdn.net/download/rhx_qiuzhi/23963960
總結
以上是生活随笔為你收集整理的Django值应用和分布式路由的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Django之静态文件
- 下一篇: Django之模型层和ORM