나는 이미 this question에 대한 답변을 사용했으나 어떤 이유로 인해 좋은 결과를 얻지 못했습니다.동일한 장고 양식을 사용하여 개체 편집/추가
내 편집 양식과 양식 추가에 동일한 템플릿을 사용하려고합니다.
url(r'^app/student/new/$', 'edit_student', {}, 'student_new'),
url(r'^app/student/edit/(?P<id>\d+)/$', 'edit_student', {}, 'student_edit'),
그리고 내 views.py
:
def edit_student(request, id=None, template_name='student_edit_template.html'):
if id:
t = "Edit"
student = get_object_or_404(Student, pk=id)
if student.teacher != request.user:
raise HttpResponseForbidden()
else:
t = "Add"
student = Student(teacher=request.user)
if request.POST:
form = StudentForm(request.POST, instance=student)
if form.is_valid():
form.save()
# If the save was successful, redirect to another page
redirect_url = reverse(student_save_success)
return HttpResponseRedirect(redirect_url)
else:
form = StudentForm(instance=student)
return render_to_response(template_name, {
'form': form,
't': t,
}, context_instance=RequestContext(request))
그리고 내 forms.py
:
class StudentForm(ModelForm):
class Meta:
model = Student
exclude = ('teacher',)
그리고 마지막으로 내 템플릿 student_edit_template.html
:
<h1>{{ t }} Student</h1>
<form action="/app/student/edit/{{ student.id }}" method="post"> {% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
,536 여기 내
urls.py
입니다 아마 여기 쉽게 뭔가를 누락
Page not found (404)
Request Method: POST
Request URL: http://192.168.1.3:5678/app/student/edit/
하지만이 시점에서 나는 적어도 그것에 눈의 다른 세트가 필요합니다 몇 가지 이유를 들어
이 404을 던지고있다.
미리 감사드립니다.
URL은 http : //192.168.1.3 : 5678/app/student/edit/789 /'처럼 보이거나 URL에 ID가 없으므로 한 가지가 있습니다. – fish2000
오른쪽 -하지만 그 학생 ID에 게시하고있는 템플릿에서 볼 수 있습니다, 그 URL에 게시해야합니다. 더 구체적이어야합니다. 레코드를 추가 할 때 404'ing입니다. 이것은 아직 생성되지 않은 ID와 관련이 있습니까? –