2017-12-07 13 views
-2

が定義されていない私は最終的に私は自分のフォーム上の送信ボタンを押すと、しかし、私はエラーを取得し、ジャンゴでデータベースにフォームからデータをPOSTするために管理:ジャンゴ:HttpResponseRedirectは

Request Method:  POST 
Request URL: http://127.0.0.1:8000/post_url/ 
Django Version:  1.11.2 
Exception Type:  NameError 
Exception Value:  

name 'HttpResponseRedirect' is not defined 

Exception Location:  /home/xxxx/Desktop/123/src/exercises/views.py in post_treasure, line 26 
Python Executable: /home/xxxx/Desktop/123/bin/python 

関連views.pyを:

def post_treasure(request): 
    form = TreasureForm(request.POST) 
    if form.is_valid(): 
     treasure = Treasure(name = form.cleaned_data['name'], 
          value = form.cleaned_data['value'], 
          material = form.cleaned_data['material'], 
          location = form.cleaned_data['location'], 
          img_url = form.cleaned_data['img_url']) 
     treasure.save() 
    return HttpResponseRedirect('/numbers/') 

関連urls.py:

urlpatterns = [ 
    url(r'^post_url/', post_treasure, name='post_treasure'), 
    url(r'^admin/', admin.site.urls), 
    url(r'^numbers/', numbers, name="numbers"), 
    url(r'^about/', about, name="about") 
] 

その他の注意事項:

  • 私はテンプレートにモデルから渡された新しい更新されたデータを表示するには、[戻る]ボタンを押すか、私は管理インタフェースを使用する場合、単純にデータを表示する場合は、データが正常に投稿された
  • あなたが必要
+0

views.py imports – ddor254

+0

これは基本的なPythonの質問です。何かが定義されていない場合、あなたはそれをインポートしていません。 –

答えて

1

from django.http import HttpResponseRedirect 

def post_treasure(request): 
    form = TreasureForm(request.POST) 
    if form.is_valid(): 
     treasure = Treasure(name = form.cleaned_data['name'], 
         value = form.cleaned_data['value'], 
         material = form.cleaned_data['material'], 
         location = form.cleaned_data['location'], 
         img_url = form.cleaned_data['img_url']) 
     treasure.save() 
    return HttpResponseRedirect('/numbers/') 
1

あなたがトップ

でそう HttpResponseRedirect

をインポートする必要があります:最初のことをインポートします

from django.http import HttpResponseRedirect