我正在構建一個將主題與問題連接起來的網站。每個問題都與一個主題相關聯,每個問題都回答一個問題,等等。在主頁上,我點擊一個主題,然後將我帶到基於topic_id的動態網址。如何在Django的jQuery發佈之後渲染前一頁
url(r'^(?P<topic_id>\d+)/$', 'questions'),
當我添加一個問題,jQuery的燈箱呈現此URL的彈出
url(r'^(?P<topic_id>\d+)/add_question/$', 'add_question'),
一旦我提出這個問題,它通過add_question.html
#add_question.html
<div class="questionPopupForm">
<h5><div class="questionPopupTitle"> Add Question</div></h5>
<form action = "/home/{{ form.topic.id }}/add_question/" method = "post">{% csrf_token %}
<p>{{ form.as_p }}</p>
<p><div class="addQuestionButton"><input type = "submit" value = "Ask Question" class="btn btn-success" /></div></p>
<input type = "hidden" name = "next" value = "{{ next|escape }}" />
</form>
</div>
一旦我提交後,Action會將我帶到/ home/{{form.topic.id}}/add_question,它是上面的URL,鏈接到add_question視圖。
#views.py
def add_question(request, topic_id):
if request.method == "POST":
form = QuestionForm(request.POST, request.FILES)
if form.is_valid():
question = form.save(user = request.user)
question.topic = Topic.objects.get(pk = topic_id)
question.save()
return HttpResponseRedirect("/home/")
else:
form = QuestionForm()
form.q_author = request.user
form.movie = Topic.objects.get(pk = topic_id)
return render_to_response("qanda/add_question.html", {'form': form}, context_instance = RequestContext(request))
現在,現在,它帶我回家HttpResponeRedirect('/ home /')。我想要做的是將用戶重定向到同一頁面,但URL中有一個變量(/ {{topic.id}} /),但HttpResponseRedirect不允許我將變量放入它中。我如何回到同一頁面?
真棒,謝謝! –