2014-01-24 36 views
0

views.pydjango 1.5中direct_to_template的代碼是什麼。這是給錯誤

from django.views.generic.simple import direct_to_template 

def post_tweet(request, tweet_id=None): 

    tweet = None 
    if tweet_id: 
     tweet = get_object_or_404(Tweet, id=tweet_id) 
    if request.method == 'POST': 
     form = TweetForm(request.POST, instance=tweet) 
     if form.is_valid(): 
      new_tweet = form.save(commit=False) 
      new_tweet.state = 'pending' 
      new_tweet.save() 
      send_review_email() 
      return HttpResponseRedirect('/post/thankyou/') 
    else: 
    form = TweetForm(instance=tweet) 
    return direct_to_template(request,'post_tweet.html',{'form': form}) 

    urls.py 

    urlpatterns = patterns('', 
     url(r'^$', 'post_tweet'), 

回答

1

功能基於通用的觀點得到了在Django 1.3開始基於類的觀點所取代。替換direct_to_template將是TemplateView。或者,您可以將其切換爲使用具有相同簽名的render快捷方式。

from django.shortcuts import render 

... 
def post_tweet(request, tweet_id=None): 
... 
    return render(request,'post_tweet.html',{'form': form}) 
+0

異常值:'str'對象不可調用 – user1785231

+0

你做了什麼改變?你想使用'TemplateView'或'render'嗎? –