文章目录
- 参考资料
- Django应用
- 创建
- 注册
- 分布式路由
- 配置分布式路由
- Step1 - 主路由中调用include函数
- Step2 - 应用下配置urls.py
- 配置分布式路由的示例
- 主路由中调用include函数
- 应用下配置urls.py
- 效果
- 练习
- 创建应用news和sport
- 在settings.py里进行注册
- urls.py
- news下新建urls.py(sport 同理)
- news的views.py(sport同理)
- 效果
- 应用下的模版
- 小结
参考资料
B站网课:点击蓝色字体跳转
或者复制链接在浏览器打开:https://www.bilibili.com/video/BV1vK4y1o7jH?p=14&vd_source=597e21cf34ffcdce468ba00be2177e8a
Django应用
创建
终端:
cd django
cd day03
cd mysite3
python3 manage.py startapp music(应用名)
注册
在settings.py的INSTALLED_APPS中添加应用名即可
分布式路由
news开头的交由news管理
music开头的交由music管理
配置分布式路由
Step1 - 主路由中调用include函数
语法:include(‘app名字.url模块名’)
作用:用于将当前路由转到各个应用的路由配置文件的urlpatterns进行分布式处理
Step2 - 应用下配置urls.py
应用下手动创建urls.py文件
内容结构同主路由完全一样
配置分布式路由的示例
主路由中调用include函数
http://127.0.0.1:8000/music/index
在urls.py中添加:
path('music/',include('music.urls'))
import某个已有的库,可以将鼠标放在红波浪线处 Alt+回车 直接导入
应用下配置urls.py
app-new-pythonfile-urls
#http://127.0.0.1:8000/music/index
应用music的urls.py
from django.urls import path
from . import views
urlpatterns = [
path('index',views.index_view)
]
效果
练习
创建应用news和sport
终端:在django/day03/mysite3下
python3 manage.py startapp news
python3 manage.py startapp sport
在settings.py里进行注册
urls.py
添加内容:
#http://127.0.0.1:8000/news/index
path('news/',include('news.urls')),
#http://127.0.0.1:8000/sport/index
path('sport/',include('sport.urls'))
news下新建urls.py(sport 同理)
from django.urls import path
from . import views
urlpatterns = [
#http://127.0.0.1:8000/news/index
path('index',views.index_view)
]
news的views.py(sport同理)
from django.http import HttpResponse
from django.shortcuts import render
# Create your views here.
def index_view(request):
return HttpResponse('这是新闻频道首页')
效果
应用下的模版
应用同名嵌套文件夹——避免找不到应用下的模版
news-右键-new-directory-templates-右键-new-directory-news-右键-new-html-index
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>新闻频道</title>
</head>
<body>
我是新闻频道首页
</body>
</html>
news的views.py:
from django.http import HttpResponse
from django.shortcuts import render
# Create your views here.
def index_view(request):
return render(request,'news/index.html')
效果:
小结
为了分而治之,引入了应用、分布式路由和应用下的模版。