当前位置: 首页 > news >正文

北海网站制作lol做直播网站

北海网站制作,lol做直播网站,南昌网站建设在哪里,甘肃长城建设集团网站一、路由模块化 在一个Django项目中,由于功能类别不同,因此需要将不同功能进行模块化设计。在Django项目中模块化设计则需要将不同模块封装为对应的app模块,每一个模块中涉及到的路由则也需要进行模块化设计,才能更好的让整个项目…

一、路由模块化

        在一个Django项目中,由于功能类别不同,因此需要将不同功能进行模块化设计。在Django项目中模块化设计则需要将不同模块封装为对应的app模块,每一个模块中涉及到的路由则也需要进行模块化设计,才能更好的让整个项目的耦合性更低。

  • 创建app的适用条件
    • 功能模块化:为了将项目功能清晰划分,提高可维护性。
    • 重用代码:为了在多个项目中重用特定功能模块。
    • 大型项目拆分:为了提高大型项目的可管理性和可扩展性。
    • 团队协作:为了在团队开发中减少代码冲突,提高工作效率。
    • 插件或第三方集成:为了更好地管理和隔离第三方服务或插件。
    • 测试和开发分离:为了在开发过程中便于管理和维护测试代码。
    • API开发:为了集中和清晰地处理API请求。
    • 遵循DRY原则:为了避免代码重复,提高代码复用性。
    • 项目结构清晰:为了提高代码的可读性和逻辑性。
    • 遵循Django的最佳实践:为了符合Django项目推荐的模块化开发方式

         在Django项目中创建app的命令:

# 将movie替换为自己的app名称
python manage.py startapp movie

       在movie包中的view视图文件中创建视图,如下:

from django.shortcuts import render, HttpResponse# Create your views here.def movie_list(request):return HttpResponse("电影列表")def movie_index(request, movie_id):return HttpResponse(f"你的电影ID为:{movie_id}")

        在movie包中创建urls文件,并在其中将视图文件映射到url上,如下:

"""
@Author :江上挽风&sty
@Blog(个人博客地址):https://blog.csdn.net/weixin_56097064
@File :urls
@Time :2024/12/30 15:49
@Motto:一直努力,一直奋进,保持平常心"""
from django.urls import path
from . import viewsurlpatterns = [path('movie_list', views.movie_list, name='movie_list'),path('movie_index/<int:movie_id>', views.movie_index, name='movie_index')
]

        最后在Django项目的urls文件中将创建的movie中的urls文件进行关联:

"""
URL configuration for DjangoProjectCode project.The `urlpatterns` list routes URLs to views. For more information please see:https://docs.djangoproject.com/en/5.1/topics/http/urls/
Examples:
Function views1. Add an import:  from my_app import views2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views1. Add an import:  from other_app.views import Home2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf1. Import the include() function: from django.urls import include, path2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""from django.contrib import admin
from django.urls import path, include
from django.shortcuts import HttpResponse
from book import views
# 默认的地址为:http://127.0.0.1:8000/# 如果我想要访问默认地址下的其他内容,可以通过定义视图并将视图进行映射
def index(request):return HttpResponse("这是默认页面")def my_page(request):return HttpResponse("我的第一个Django项目,我们一定会顺利毕业滴!")urlpatterns = [path("admin/", admin.site.urls),path("", index), # 双引号中为空内容,表示为默认地址path("mypage", my_page),  # 自定义urlpath("book", views.book_detail_query_id),# 在book_id前面添加指定参数类型,如果在浏览器中输入了非整型,会报404错误,并且在视图函数中,book_id就是一个整型,否则是字符串类型path("book/<int:book_id>", views.book_detail_path),# 将movie app中的urls关联到项目urls中path("movie/", include("movie.urls"))]

        项目演示:

 二、路由反转

 2.1、概念

        在Django项目中,路由反转是指通过视图函数的名称或路径对象来动态生成URL的过程。这是Django URL dispatcher的一个特性,允许你在模板、视图或其他Python代码中引用视图,而不是硬编码URL。

  • 进行路由反转的优势:
    • 减少硬编码:避免在代码中硬编码URL,使得URL的修改更加灵活,只需更改URL配置而不需要修改引用该URL的代码。

    • 提高代码可维护性:当URL发生变化时,只需更改一处即可,无需搜索整个项目中的硬编码URL,降低了维护成本。

    • 增强代码的可读性:使用视图名称或路径对象引用URL,使得代码更加清晰易懂,尤其是对于大型项目来说,可以快速定位到对应的视图函数。

    • 支持国际化:在进行国际化时,URL可能会根据语言的不同而变化,路由反转可以动态生成适应不同语言环境的URL。

    • 简化测试:在编写测试时,可以使用路由反转来构造测试URL,而不需要关心具体的URL路径是什么。

    • 支持命名空间:在Django中,可以使用命名空间来组织URL,路由反转可以帮助正确地解析带有命名空间的URL。

    • 动态URL生成:在某些情况下,URL可能依赖于动态数据,如对象的ID或slug,路由反转可以方便地生成这些动态URL。

2.2、实现方式

        测试代码:

"""
URL configuration for DjangoProjectCode project.The `urlpatterns` list routes URLs to views. For more information please see:https://docs.djangoproject.com/en/5.1/topics/http/urls/
Examples:
Function views1. Add an import:  from my_app import views2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views1. Add an import:  from other_app.views import Home2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf1. Import the include() function: from django.urls import include, path2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""from django.contrib import admin
from django.urls import path, include
from django.shortcuts import HttpResponse
from book import views
from django.urls import reverse"""
URL configuration for DjangoProjectCode project.The `urlpatterns` list routes URLs to views. For more information please see:https://docs.djangoproject.com/en/5.1/topics/http/urls/
Examples:
Function views1. Add an import:  from my_app import views2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views1. Add an import:  from other_app.views import Home2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf1. Import the include() function: from django.urls import include, path2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""from django.contrib import admin
from django.urls import path, include
from django.shortcuts import HttpResponse
from book import views
from django.urls import reverse
# 默认的地址为:http://127.0.0.1:8000/# 如果我想要访问默认地址下的其他内容,可以通过定义视图并将视图进行映射
def index(request):print(reverse("index"))return HttpResponse("这是默认页面")def my_page(request):return HttpResponse("我的第一个Django项目,我们一定会顺利毕业滴!")urlpatterns = [path("admin/", admin.site.urls),path("", index, name='index'),  # 双引号中为空内容,表示为默认地址path("mypage", my_page),  # 自定义urlpath("book", views.book_detail_query_id, name='book_id'),# 在book_id前面添加指定参数类型,如果在浏览器中输入了非整型,会报404错误,并且在视图函数中,book_id就是一个整型,否则是字符串类型path("book/<int:book_id>", views.book_detail_path, name='book_path'),# 将movie app中的urls关联到项目urls中path("movie/", include("movie.urls"))]# 默认的地址为:http://127.0.0.1:8000/# 如果我想要访问默认地址下的其他内容,可以通过定义视图并将视图进行映射
def index(request):print(reverse("index"))return HttpResponse("这是默认页面")def my_page(request):return HttpResponse("我的第一个Django项目,我们一定会顺利毕业滴!")urlpatterns = [path("admin/", admin.site.urls),path("", index, name='index'),  # 双引号中为空内容,表示为默认地址path("mypage", my_page),  # 自定义urlpath("book", views.book_detail_query_id, name='book_id'),# 在book_id前面添加指定参数类型,如果在浏览器中输入了非整型,会报404错误,并且在视图函数中,book_id就是一个整型,否则是字符串类型path("book/<int:book_id>", views.book_detail_path, name='book_path'),# 将movie app中的urls关联到项目urls中path("movie/", include("movie.urls"))]

        运行项目并访问http://127.0.0.1:8000/得到:

        通过传递参数:

"""
URL configuration for DjangoProjectCode project.The `urlpatterns` list routes URLs to views. For more information please see:https://docs.djangoproject.com/en/5.1/topics/http/urls/
Examples:
Function views1. Add an import:  from my_app import views2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views1. Add an import:  from other_app.views import Home2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf1. Import the include() function: from django.urls import include, path2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""from django.contrib import admin
from django.urls import path, include
from django.shortcuts import HttpResponse
from book import views
from django.urls import reverse
# 默认的地址为:http://127.0.0.1:8000/# 如果我想要访问默认地址下的其他内容,可以通过定义视图并将视图进行映射
def index(request):print(reverse("book_path",kwargs={"book_id":1}))# print(reverse("index"))return HttpResponse("这是默认页面")def my_page(request):return HttpResponse("我的第一个Django项目,我们一定会顺利毕业滴!")urlpatterns = [path("admin/", admin.site.urls),path("", index, name='index'),  # 双引号中为空内容,表示为默认地址path("mypage", my_page),  # 自定义urlpath("book", views.book_detail_query_id, name='book_id'),# 在book_id前面添加指定参数类型,如果在浏览器中输入了非整型,会报404错误,并且在视图函数中,book_id就是一个整型,否则是字符串类型path("book/<int:book_id>", views.book_detail_path, name='book_path'),# 将movie app中的urls关联到项目urls中path("movie/", include("movie.urls"))]

         运行项目并访问http://127.0.0.1:8000/得到:

        查询字符串传参:

"""
URL configuration for DjangoProjectCode project.The `urlpatterns` list routes URLs to views. For more information please see:https://docs.djangoproject.com/en/5.1/topics/http/urls/
Examples:
Function views1. Add an import:  from my_app import views2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views1. Add an import:  from other_app.views import Home2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf1. Import the include() function: from django.urls import include, path2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""from django.contrib import admin
from django.urls import path, include
from django.shortcuts import HttpResponse
from book import views
from django.urls import reverse
# 默认的地址为:http://127.0.0.1:8000/# 如果我想要访问默认地址下的其他内容,可以通过定义视图并将视图进行映射
def index(request):print(reverse("book_id")+"?id=1")# print(reverse("book_path",kwargs={"book_id":1}))# print(reverse("index"))return HttpResponse("这是默认页面")def my_page(request):return HttpResponse("我的第一个Django项目,我们一定会顺利毕业滴!")urlpatterns = [path("admin/", admin.site.urls),path("", index, name='index'),  # 双引号中为空内容,表示为默认地址path("mypage", my_page),  # 自定义urlpath("book", views.book_detail_query_id, name='book_id'),# 在book_id前面添加指定参数类型,如果在浏览器中输入了非整型,会报404错误,并且在视图函数中,book_id就是一个整型,否则是字符串类型path("book/<int:book_id>", views.book_detail_path, name='book_path'),# 将movie app中的urls关联到项目urls中path("movie/", include("movie.urls"))]

        运行项目并访问http://127.0.0.1:8000/得到:

        命名空间传参:

"""
URL configuration for DjangoProjectCode project.The `urlpatterns` list routes URLs to views. For more information please see:https://docs.djangoproject.com/en/5.1/topics/http/urls/
Examples:
Function views1. Add an import:  from my_app import views2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views1. Add an import:  from other_app.views import Home2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf1. Import the include() function: from django.urls import include, path2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""from django.contrib import admin
from django.urls import path, include
from django.shortcuts import HttpResponse
from book import views
from django.urls import reverse
# 默认的地址为:http://127.0.0.1:8000/# 如果我想要访问默认地址下的其他内容,可以通过定义视图并将视图进行映射
def index(request):print(reverse("movie:movie_list"))# print(reverse("book_id")+"?id=1")# print(reverse("book_path",kwargs={"book_id":1}))# print(reverse("index"))return HttpResponse("这是默认页面")def my_page(request):return HttpResponse("我的第一个Django项目,我们一定会顺利毕业滴!")urlpatterns = [path("admin/", admin.site.urls),path("", index, name='index'),  # 双引号中为空内容,表示为默认地址path("mypage", my_page),  # 自定义urlpath("book", views.book_detail_query_id, name='book_id'),# 在book_id前面添加指定参数类型,如果在浏览器中输入了非整型,会报404错误,并且在视图函数中,book_id就是一个整型,否则是字符串类型path("book/<int:book_id>", views.book_detail_path, name='book_path'),# 将movie app中的urls关联到项目urls中path("movie/", include("movie.urls"))]

        运行项目并访问http://127.0.0.1:8000/得到:

http://www.yayakq.cn/news/495941/

相关文章:

  • 深圳集团网站建设报价乐清做网站培训
  • .net商城网站开发网站的大小
  • 网站手机端模板库wordpress实时推送 php
  • 清河网站建设网络公司安卓系统开发公司
  • 网站备案图标怎么添加网站推广免费 优帮云
  • 下载网站的表格要钱如何做谷歌seo技术
  • go 语言 做网站国内扁平化网站
  • 做网站群的公司稳定的网站服务器租用
  • 4399页游网站wordpress首页广告
  • 一个网站怎么做pc和移动端常规网站建设价格实惠
  • php做购物网站系统如何介绍设计的网站模板
  • 学院网站建设报价给网站首页图片做外网超链接_为什么会弹出一个服务器登录窗口
  • 陕西恒立建设集团网站wordpress个性
  • 网站内容页怎么做的外贸流程全步骤英文
  • 网站开发的工作对象wordpress伪静态设置方法
  • 萍乡的电子商务网站建设公司邢台做移动网站的地方
  • 移动4G网站建设网站制作的一般步骤
  • 网站建设产品经理职责资源网站不好找了
  • wps如何做网站wordpress如何添加商桥
  • 修改网站图标泰安市最新消息
  • 简单大气的网站漯河网站推广哪家好
  • 上住房和城乡建设部网站有什么做门窗展厅的设计网站
  • 渭南网站建设远景单页面个人网站
  • 做网站用js的好处网站模板样式修改
  • 商城微网站建设多少钱网站在百度的图标显示不正常
  • 学校网站建设客户需求调查问卷皖icp合肥网站开发公司
  • 德州网站开发公司新手怎么开始做微商
  • 温州网站建设(首选国鼎网络)服装企业营销网站建设
  • 微信软文范例宁波网站推广优化公司
  • 网站建设和推广需要多少费用无锡百度信息流