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

无法为Django项目添加新页面?求助解决urls配置问题

问题分析与解决

你的核心问题是错误地把视图函数传给了include()。include()的作用是导入其他URL配置模块(比如应用级的urls.py),不是直接绑定视图函数。你直接传views.hello,Django会把它当成一个URLconf模块去查找urlpatterns,自然找不到,所以抛出了那个错误。

下面给两种可行的解决方法:


方法一:直接绑定视图(最简单,适合单个视图场景)

修改项目根目录的urls.py,去掉多余的include(),直接把视图函数作为re_path的第二个参数:

from django.contrib import admin
from django.urls import path, re_path
from myapp import views

urlpatterns = [
    path('admin/', admin.site.urls),
    re_path(r'^hello/$', views.hello),  # 去掉include,直接传入视图函数
]

方法二:使用应用级URL配置(规范做法,适合多视图场景)

  1. 在myapp目录下新建urls.py文件,写入以下内容:
from django.urls import re_path
from . import views

urlpatterns = [
    re_path(r'^hello/$', views.hello),
]
  1. 修改项目根目录的urls.py,用include()导入应用的URL配置:
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('myapp.urls')),  # 导入myapp的urls模块
]

额外说明:如果你的Django版本是2.0及以上,多数场景用path()就足够,只有需要正则匹配复杂路径时才用re_path()(它是旧版url()的别名)。比如这个hello路径,用path('hello/', views.hello)完全可以替代re_path(r'^hello/$', views.hello)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 22:12:11