Django启动提示games.urls无URL模式或存在循环导入如何解决
问题排查及修复方案
核心报错原因
games/urls.py 中的路由配置变量名拼写错误:
Django强制要求每个应用的urls.py必须使用**urlpatterns** 作为路由列表的变量名,你当前代码中将变量名写成了urlpattrns,少了一个字母e,Django无法识别到合法的路由配置,因此抛出找不到URL模式的错误。
其他问题说明
models.py首行from django.conf import settings显示灰色与本次报错完全无关,灰色是PyCharm提示你导入了该模块但代码中没有实际使用,属于冗余导入,删除或保留都不影响代码运行。- 修复路由拼写问题后会触发新的视图错误:你写的
GameListView继承了Django通用列表视图,但没有指定要绑定的模型,运行时会找不到数据源,需要补充model属性配置。
修改后代码示例
games/urls.py
# games/urls.py from django.urls import path from .views import GameListView urlpatterns = [ path('', GameListView.as_view(), name='game_list'), ]
games/views.py
# games/views.py from django.views.generic import ListView from .models import Game class GameListView(ListView): model = Game template_name = 'game_list.html'
内容的提问来源于stack exchange,提问作者Aaron
相关产品推荐
相关产品推荐

