django - “产品”不是注册的命名空间
问题描述
我遇到了一个问题。我在 django 中收到以下错误消息:
我有这个链接:
<a class="prods" href="{% url 'accounts:products' %}">
我收到此错误:
'products' is not a registered namespace
我在主 urls.py 文档中定义了“产品”:
url(r'^products/', include('products.productsurls', namespace='products')),
我还在 producturls.py 中指定了应用名称。
app_name = 'products'
你能想到我可以定义命名空间的任何其他方式吗?这真的让我很困惑。
谢谢!
解决方案
由于您正在使用app_name = 'websites'
,您也可以使用 url 解析以下名称'websites:urlname'
。您可以在此处找到更多详细信息。
UPD
看起来问题在这里:
<a class="prods" href="{% url 'accounts:products' %}">
在这种情况下account
是命名空间。并且product
是模式名称。因此,要使用'accounts:products'
url 名称,您需要具有如下模式:
# main urls.py
url(r'^products/', include('products.productsurls', namespace='accounts')),
# productsurls.py
path('', views.IndexView.as_view(), name='products'),
但是,如果您关注 url,它应该是这样的:
<a class="prods" href="{% url 'products:urlname' %}">
推荐阅读
- python-3.x - 使用 DjangoPaypal 进行订阅不起作用
- javascript - 如何修复低选择2显示
- java - 更新后无法取消通知
- ruby - 在 ruby 中使用 tap 代替 map 和 to_h
- java - java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“void com.parse.ParseException.printStackTrace()”
- android - Flutter 中的动态启动画面
- c++ - 如何将物体移向以度为单位的角度?(C、C++)
- apache-spark - 混合 Spark Structured Streaming API 和 DStream 写入 Kafka
- javascript - 如何修复文档附加子减慢反应程序?
- android - Android Fetch API 不能在应用程序/REST 客户端上运行,但可以通过浏览器运行