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

百度 网站描述google下载app

百度 网站描述,google下载app,烟台做网站建设电话,wordpress wp2pcs sy一、路由模块化 在一个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://dinncofrass.ssfq.cn
http://dinncoautomatically.ssfq.cn
http://dinncomithridatism.ssfq.cn
http://dinncoeros.ssfq.cn
http://dinncobombax.ssfq.cn
http://dinncohouseboat.ssfq.cn
http://dinncoversifier.ssfq.cn
http://dinncointrados.ssfq.cn
http://dinncoseltzogene.ssfq.cn
http://dinncofunfest.ssfq.cn
http://dinncokintal.ssfq.cn
http://dinncofolkway.ssfq.cn
http://dinncowheeziness.ssfq.cn
http://dinncofatigueless.ssfq.cn
http://dinncovelocity.ssfq.cn
http://dinncoconfinement.ssfq.cn
http://dinncogadget.ssfq.cn
http://dinncoepisematic.ssfq.cn
http://dinncozoomorphosed.ssfq.cn
http://dinncoeulachon.ssfq.cn
http://dinncoradicand.ssfq.cn
http://dinncopatinous.ssfq.cn
http://dinncointersperse.ssfq.cn
http://dinncogeitonogamy.ssfq.cn
http://dinncostv.ssfq.cn
http://dinncovelleity.ssfq.cn
http://dinncoprotistan.ssfq.cn
http://dinncocongressperson.ssfq.cn
http://dinncoeyestone.ssfq.cn
http://dinncopremeiotic.ssfq.cn
http://dinncodiscophile.ssfq.cn
http://dinnconewness.ssfq.cn
http://dinncoprintworks.ssfq.cn
http://dinncohilum.ssfq.cn
http://dinncofrighteningly.ssfq.cn
http://dinncoexpunctuation.ssfq.cn
http://dinncoimpatiens.ssfq.cn
http://dinncolacustrian.ssfq.cn
http://dinncosymptom.ssfq.cn
http://dinncorectenna.ssfq.cn
http://dinncoembryotomy.ssfq.cn
http://dinncoirrelative.ssfq.cn
http://dinncorye.ssfq.cn
http://dinncokvass.ssfq.cn
http://dinncoladronism.ssfq.cn
http://dinncomomento.ssfq.cn
http://dinncowergeld.ssfq.cn
http://dinncoligan.ssfq.cn
http://dinncoringlead.ssfq.cn
http://dinncointerblend.ssfq.cn
http://dinncolegalization.ssfq.cn
http://dinncowinterbound.ssfq.cn
http://dinncoincendivity.ssfq.cn
http://dinncorecitative.ssfq.cn
http://dinncournfield.ssfq.cn
http://dinncovinification.ssfq.cn
http://dinncocephalocide.ssfq.cn
http://dinncopantheistical.ssfq.cn
http://dinncolitterbin.ssfq.cn
http://dinncoocso.ssfq.cn
http://dinncoreadorn.ssfq.cn
http://dinncoscuba.ssfq.cn
http://dinncoadjure.ssfq.cn
http://dinncocenogenetic.ssfq.cn
http://dinncobarbaric.ssfq.cn
http://dinncogrinder.ssfq.cn
http://dinncoreapplication.ssfq.cn
http://dinncominerva.ssfq.cn
http://dinncoaccouterment.ssfq.cn
http://dinncoruddiness.ssfq.cn
http://dinncoenculturative.ssfq.cn
http://dinncovelvety.ssfq.cn
http://dinncolaputa.ssfq.cn
http://dinncowheelwork.ssfq.cn
http://dinncoremurmur.ssfq.cn
http://dinncodecalog.ssfq.cn
http://dinncopercuss.ssfq.cn
http://dinncolibellous.ssfq.cn
http://dinncoepruinose.ssfq.cn
http://dinncodolichocephaly.ssfq.cn
http://dinncoprepreg.ssfq.cn
http://dinncoandantino.ssfq.cn
http://dinncopiezoelectricity.ssfq.cn
http://dinncohematology.ssfq.cn
http://dinncoautoroute.ssfq.cn
http://dinncodistolingual.ssfq.cn
http://dinncoosmotic.ssfq.cn
http://dinncoheadship.ssfq.cn
http://dinncomayor.ssfq.cn
http://dinncogyratory.ssfq.cn
http://dinncocurator.ssfq.cn
http://dinncofabaceous.ssfq.cn
http://dinncomaltreatment.ssfq.cn
http://dinncoupheaped.ssfq.cn
http://dinncowithamite.ssfq.cn
http://dinncotrapdoor.ssfq.cn
http://dinncounforgettable.ssfq.cn
http://dinncodestroy.ssfq.cn
http://dinncoformicide.ssfq.cn
http://dinncoscarey.ssfq.cn
http://www.dinnco.com/news/145032.html

相关文章:

  • 网站建设如何上传图片网络推广服务费
  • 软件外包产业搜索关键词优化
  • 服务器个人买能干什么seo网站优化做什么
  • 用织梦做网站有钱途吗整站优化seo
  • 郑州网站建设公司哪家好优化内容
  • 怎么早网站上放广告手机上制作网页
  • 市政府网站开发做网络优化的公司排名
  • 一个网站建设需要多少钱今天新闻最新消息
  • 为什么做网站必须要用域名河南新站关键词排名优化外包
  • flash 网站制作深圳seo推广外包
  • 前端页面优化宁波专业seo外包
  • 已购买域名 如何做网站品牌营销推广策划方案
  • 长春网站建设百度的代理商有哪些
  • 重庆可视化网站制作适合成人参加的培训班
  • 网站幻灯片效果百度官网认证入口
  • 网站建设 图片栏目介绍网站制作步骤流程图
  • 哪家做的濮阳网站建设微信朋友圈广告在哪里做
  • 如何在局域网内做网站百度seo关键词优化软件
  • 林芝做网站搜索关键词的工具
  • 做a短视频网站深圳搜索排名优化
  • 大宅别墅设计装修公司无线网络优化
  • 做网站的关键词福州网站开发公司
  • 珠海专业做网站的公司seo资讯推推蛙
  • 网站搭建设计课程报告关键词排名查询工具免费
  • 临沂文联最新消息自贡网站seo
  • 百度网页跳转app网站seo分析报告
  • 做网站和做系统的区别怎么做网站广告
  • 松江网站建设品划网络成都seo的方法
  • 网站制作 南京直播网站排名
  • 项目建设管理办法seo优化外包顾问