【发布时间】:2012-05-31 15:26:29
【问题描述】:
我正在使用找到的代码 here (SO.com) 来使用相同的模板来添加和编辑记录,但是当我添加新记录并单击提交时,我在 URL @ 上得到一个 404 987654322@,我不确定为什么。
这是我urls.py的相关部分:
url(r'^app/lesson/new/$', 'edit_lesson', {}, 'lesson_new'),
url(r'^app/lesson/edit/(?P<id>\d+)/$', 'edit_lesson', {}, 'lesson_edit'),
这是我views.py的相关部分:
def edit_lesson(request, id=None, template_name='lesson_edit_template.html'):
if id:
t = "Edit"
lesson = get_object_or_404(Lesson, pk=id)
stu = get_object_or_404(Student, pk=sid)
if stu.teacher != request.user:
raise HttpResponseForbidden()
else:
t = "Add"
lesson = Lesson()
if request.POST:
form = LessonForm(request.POST, instance=lesson)
if form.is_valid():
form.save()
# If the save was successful, redirect to another page
return view_lessons(request)
else:
form = LessonForm(instance=lesson)
return render_to_response(template_name, {
'form': form,
't': t,
'lesson': lesson,
}, context_instance=RequestContext(request))
最后,这是我的模板:
<h1>{{ t }} Lesson</h1>
<form action="/app/lesson/edit/{{ lesson.id }}/" method="post"> {% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
我确定我错过了一些非常简单的东西,但我似乎无法找到它。如果这有什么不同,我正在使用 Django 1.3.1。
谢谢, MC
【问题讨论】:
标签: django django-views