You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django应用新增模型时URL路由如何更新配置?

Django blog应用新增schedule模型的路由配置答疑

1. schedule模型对应的URL如何创建

Django没有自动为模型生成URL的机制,所有访问路径都需要开发者手动在urls.py文件中配置。你之前posts模型能正常访问的URL,也是之前手动配置好路由规则的,新增的schedule模型对应的URL,同样需要手动绑定路径和对应视图,不会自动生成。

2. schedule相关路由是否可以通过blog.urls统一导入

完全可以,这也是Django推荐的多应用路由组织方式。
你贴出的根urls.py里第三行path('accounts/',include('django.contrib.auth.urls'))就是典型的「统一导入某一模块下所有路由」的写法,和你导入app.urls的逻辑完全一致。
目前你的根路由里还没有引入blog应用的urls配置,你只需要做两步:

  • 在blog应用目录下新建urls.py文件(如果之前posts的路由已经写在这个文件里就跳过这步)
  • 在根urls.py的urlpatterns里加一行path('blog/', include('blog.urls'))
    之后不管是posts还是schedule的路由,都可以统一写在blog/urls.py里,会自动被根路由加载,不需要在根urls里逐条写单条路由规则。

3. Django如何引用schedule对应的视图,是否需要添加类视图路由配置

Django不会自动关联模型和视图,整个调用逻辑是:

  1. 先在blog/views.py里写好schedule对应的业务视图(比如你提到的scheduleDetail类视图),视图内部按需引入schedule模型做数据查询、处理、返回响应
  2. 在blog/urls.py里添加路由规则,把URL路径和写好的视图绑定
  3. 用户访问对应URL时,Django会根据路由匹配结果调用对应的视图,返回结果给用户

你提到的路由配置形式是对的,但示例里有两个明显错误:

  • 路径字符串没闭合,正确路径应该是'schedule/'
  • name参数是路由反向解析的别名,和模板文件名没有关系,不应该传sidebar.html,建议用语义化的别名比如schedule_detail,后续在模板、视图里反向解析路由时直接用这个别名即可。

正确的blog/urls.py配置参考:

from django.urls import path
from . import views

urlpatterns = [
    # 已有的posts相关路由
    # path('posts/', views.PostList.as_view(), name='post_list'),
    # 新增schedule路由
    path('schedule/', views.scheduleDetail.as_view(), name='schedule_detail'),
]

注意:配置路由前要确保你已经在views.py里定义好了scheduleDetail类视图,并且正确引入了schedule模型,否则启动项目时会报导入错误。


内容的提问来源于stack exchange,提问作者ggsmith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 06:27:18