2013-04-18 35 views
0

基礎:我試圖顯示一個新的獨特的網址的表格信息以及提交後查看。表單正在保存到數據庫,但不是重定向到新的url或視圖。下面我發佈了views.py以及urls.py。如果您需要查看其他內容,請讓我知道。Django表格保存,但不重定向

注意:這是建立在ModelForm的基礎之上的,我對Django有一定的初學者。

在此先感謝!

url.py

from django.conf.urls import patterns, include, url 

# Uncomment the next two lines to enable the admin: 
from django.contrib import admin 
admin.autodiscover() 

urlpatterns = patterns('', 
url(r'^letter/testing/$', 'letter.views.letter'), 
url(r'^letter/testing/(?P<pk>\d+)/$','letter.views.submission'), 

# Uncomment the admin/doc line below to enable admin documentation: 
url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 

# Uncomment the next line to enable the admin: 
url(r'^admin/', include(admin.site.urls)), 

views.py

# Create your views here. 
from django.http import HttpResponseRedirect 
from django.shortcuts import render_to_response, get_object_or_404 
from django.template import RequestContext 
from letter.forms import LetterForm 
from letter.models import Letter 

def submission(request, pk): 
    submission = get_object_or_404(Letter, pk=int(pk)) 
    return render_to_response('post.html', {'submission':submission}) 

def letter(request): 
if request.method == "POST": 
    letter = LetterForm(request.POST) 

    if letter.is_valid(): 
     try: 
      new_letter = letter.save() 
      return HttpResponseRedirect('/letter/testing/%d/' % new_letter.pk) 
     except: 
      pass   

else: 
    letter = LetterForm() 

return render_to_response('letter.html', 
     {'letter':letter}, 
     context_instance=RequestContext(request)) 

解答: 所需如果letter.is_valid下移除try /除參數()

謝謝@mattg!

+0

tryexcept參數? – mattg

+0

@mattg我跑過一個教程,這是他們如何呈現它。這不正確嗎? – alxmrph

+0

除了被忽略的塊以外,看起來很奇怪。如果刪除try/except塊並保存該字母並重定向,會發生什麼情況? – mattg

回答

0

所需爲什麼你在try /除下letter.is_valid塊下,刪除if letter.is_valid()