Django后端开发——Django应用及分布式路由

文章目录

  • 参考资料
  • 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中添加应用名即可
Django后端开发——Django应用及分布式路由_第1张图片

分布式路由

Django后端开发——Django应用及分布式路由_第2张图片
news开头的交由news管理
music开头的交由music管理

配置分布式路由

Step1 - 主路由中调用include函数

语法:include(‘app名字.url模块名’)
作用:用于将当前路由转到各个应用的路由配置文件的urlpatterns进行分布式处理

Django后端开发——Django应用及分布式路由_第3张图片

Step2 - 应用下配置urls.py

应用下手动创建urls.py文件
内容结构同主路由完全一样
Django后端开发——Django应用及分布式路由_第4张图片

配置分布式路由的示例

主路由中调用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)
]

效果

Django后端开发——Django应用及分布式路由_第5张图片

练习

Django后端开发——Django应用及分布式路由_第6张图片

创建应用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('这是新闻频道首页')

效果

Django后端开发——Django应用及分布式路由_第7张图片
Django后端开发——Django应用及分布式路由_第8张图片


应用下的模版

Django后端开发——Django应用及分布式路由_第9张图片
应用同名嵌套文件夹——避免找不到应用下的模版
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')

效果:
Django后端开发——Django应用及分布式路由_第10张图片

小结

为了分而治之,引入了应用、分布式路由和应用下的模版。

你可能感兴趣的:(Django后端开发,django,python,后端)