Django如何使用UUID而不是PK的通用视图
我正在尝试访问一个类似 127.0.0.1:8000/POSI/qNwEXBxXQdGI4KlQfoHWOA 但是我无法解决这个小问题 这就是错误: NoReverseMatch at/posti/Reverse用于带参数的“详细信息” 找不到“(SmallUUID('qNwEXBxXQdGI4KlQfoHWOA'),)”。1幅(s) 已尝试:[“posti/(?P[0-9a-fA-F-]+)/$”] Django在另一个具有如下字符串的视图中尝试解决此问题时遇到问题:Django如何使用UUID而不是PK的通用视图,django,Django,我正在尝试访问一个类似 127.0.0.1:8000/POSI/qNwEXBxXQdGI4KlQfoHWOA 但是我无法解决这个小问题 这就是错误: NoReverseMatch at/posti/Reverse用于带参数的“详细信息” 找不到“(SmallUUID('qNwEXBxXQdGI4KlQfoHWOA'),)”。1幅(s) 已尝试:[“posti/(?P[0-9a-fA-F-]+)/$”] Django在另一个具有如下字符串的视图中尝试解决此问题时遇到问题: from . impor
from . import views
from django.conf.urls import url
app_name = 'posti'
urlpatterns = [
url(r'^$', views.IndexView.as_view(), name='index'),
url(r'^(?P<slug>[0-9a-fA-F-]+)/$', views.DetailView.as_view(), name='detail'),
我试图重写get_对象,但没有任何效果。我不明白正则表达式是否错误,或者我的观点是否有问题
编辑:
索引上的模板引发了上述错误,其代码如下:
{% if posti_list != null %}
<ul>
{% for post in posti_list %}
<li><a href="{% url 'posti:detail' post.uuid %}">{{ post.title }}</a></li>
{% endfor %}
</ul>
{% else %}
<p>No posts are available.</p>
{% endif %}
{%if posti_list!=null%}
{post_list%中的post的百分比}
{%endfor%}
{%else%}
没有职位
{%endif%}
我向DetailView类添加了slug\u url\u kwarg='uuid'
,现在它可以工作了,但现在我有了一个
属性错误位于/posti/qNwEXBxXQdGI4KlQfoHWOA/通用详细视图
必须使用对象pk或slug调用DetailView
当我尝试访问特定的帖子时
我向DetailView类添加了slug\u url\u kwarg='uuid'
,现在它可以工作了,但现在我有了一个
必须使用对象pk或slug调用/posti/qNwEXBxXQdGI4KlQfoHWOA/Generic detail view DetailView处的AttributeError
slug\u url\u kwarg
必须与您的url正则表达式组名匹配(slug
在您的情况下,这是slug\u url\u kwarg
的默认值),因此您不应该更改它
有关详细信息,请查看这里的Django源代码片段-右侧。我读过一个例子,上面写着“slug”,我想应该这样称呼它。
{% if posti_list != null %}
<ul>
{% for post in posti_list %}
<li><a href="{% url 'posti:detail' post.uuid %}">{{ post.title }}</a></li>
{% endfor %}
</ul>
{% else %}
<p>No posts are available.</p>
{% endif %}