【发布时间】:2020-01-01 02:51:21
【问题描述】:
我想将我的网址从 PK 更改为 slugfields,但在一个字段上这不起作用。
urlpatterns = [
...
url(r'^indexed/$', views.QuestionsIndexListView.as_view(), name='index_all'),
url(r'^ask-question/$', views.CreateQuestionView.as_view(), name='ask_question'),
url(r'^(?P<slug>[-\w]+)/$', views.QuestionDetailView.as_view(), name='detail'),
url(r'^propose-answer/(?P<question_id>\d+)/$', views.CreateAnswerView.as_view(), name='propose_answer'),
#url(r'^propose-answer/(?P<slug>[-\w]+)/$', views.CreateAnswerView.as_view(), name='propose_answer'),
]
观看次数
class CreateAnswerView(LoginRequiredMixin, CreateView):
model = Answer
fields = ["content", ]
message = _("Thank you!")
def form_valid(self, form):
form.instance.user = self.request.user
form.instance.question_id = self.kwargs["question_id"]
return super().form_valid(form)
def get_success_url(self):
messages.success(self.request, self.message)
return reverse(
"question_detail", kwargs={"pk": self.kwargs["question_id"]})
我的第一个问题是,在途中无法使用 slug url 打开。我收到此错误。
未找到带有参数“('',)' 的 'propose_answer' 的反向操作。 1 尝试的模式:['propose-answer/(?P[-\w]+)/$']
我的第二个问题,当表单有效时,我怎样才能再次转发到 slug url?这不是同一个模型。我有两个模型。问题和答案。发布答案后,我想像 url 一样回到主要问题
url(r'^(?P<slug>[-\w]+)/$', views.QuestionDetailView.as_view(), name='detail'),
-- 更新
在发布的 urls.py 中,我有两行用于建议答案,一行是不推荐的。我希望在 outcommend 行中尝试将建议答案与 slug 一起使用,但是当我尝试这样做时,我得到了显示的错误。
【问题讨论】:
-
您发布的代码似乎与您收到的错误消息不对应。该错误表明您正在尝试反转名称为
propose_answer的 URL 和一个空字符串的单个参数。你能在你的帖子中澄清一下吗?