2017-01-26 9 views
3

次のコードを使用してdjango/pythonでフォームを処理しようとしています。Djangoは登録された名前空間ではありません

home.html:

<form action="{% url 'home:submit' %}"method='post'> 

views.py:

def submit(request): 
    a = request.POST(['initial']) 
    return render(request, 'home/home.html', { 
     'error_message': "returned" 
    }) 

urls.py:私は、ブラウザでそれを実行しようとすると

url(r'^submit/$', views.submit, name='submit'), 

私はエラーを取得します:

/home/u'home 'のNoReverseMatchは登録済みの名前空間ではありません また、フォームにエラーがありますか?

+0

あなたは名前として 'home'を登録しましたか?ペース? – Sayse

+0

[NoReverseMatchエラーとは何ですか?また修正するにはどうすればいいですか?](http://stackoverflow.com/questions/38390177/what-is-a-noreversematch-error-and-how-do-i- fix-it) – Sayse

+0

を登録するのは、INSTALLED_APPSに 'home.apps.HomeConfig'を置くだけの名前空間ではありませんか? –

答えて

7

あなたは自分のテンプレートであなたのアクションURLを変更する必要があります。ためには、URL名前空間のノートで


<form action="{% url 'submit' %} "method='post'> 
...

home名前空間、あなたを使用してURLを呼び出すことができるようにあなたのメインのurls.pyファイルの行に次のようなものがあるはずです:

url(r'^', include('home.urls', namespace='home')), 
関連する問題