簡単な質問を別のビューからビューをレンダリング、私はジャンゴとPyhtonのnoobだ...ジャンゴ、(特定のURLを呼び出す)
は、少なくとも私は思いますそう:
<form action="#" method="post">
{% csrf_token %}
<label>Company Number:</label>
<input type="text" name="company" placeholder=""/><br>
<input type="submit" id="register value=" OK" />
</form>
これは次のようにマッピングされます:
url(r'^userfilt/insertForm/$', views.insertForm, name='insertForm'),
今後の私はWAこのフォームを送信
私は少し形をしましたurl(r'^userfilt/$', views.userfilt, name='userfilt')
URLマッピングファイル:NT背面メインビューに取得する
app_name = 'SSO_Management_POC'
urlpatterns = [
url(r'^$', views.IndexView.as_view(), name='index'),
url(r'^user/$', views.user, name='user'),
url(r'^userfilt/$', views.userfilt, name='userfilt'),
url(r'^userfilt/insertForm/$', views.insertForm, name='insertForm'),
#url(r'^updateForm/$', views.updateForm, name='updateForm'),
url(r'^(?P<pk>[0-9]+)/$', views.DetailView.as_view(), name='detail'),
url(r'^(?P<pk>[0-9]+)/results/$', views.ResultsView.as_view(), name='results'),
url(r'^(?P<question_id>[0-9]+)/vote/$', views.vote, name='vote'),
]
メインビューは、このようなものです(それは、このコードは、問題に関与しているとは思いません。) :
def userfilt(request):
if request.GET.get('create'):
return HttpResponseRedirect('insertForm')
if request.GET.get('update'):
print request.GET.get('pk')
return render(request, 'SSO_Management_POC/updateForm.html')
if request.method == 'POST':
form = UserForm(request.POST)
val = request.POST.get('my_textarea')
return render(request, 'SSO_Management_POC/userfilt.html',
{'top_user': TopUser.objects.filter(user_name__regex=val)})
else:
print '4'
return render(request, 'SSO_Management_POC/userfilt.html')
は今、私を殺しているコールは、私がフォームを送信するとき、私はちょうどたいが、常にやったように、POSTでそれを呼び出すメインページに戻って取得起こります!
return render(request, "SSO_Management_POC/userfilt.html")
私はこのようにそれを行うが、問題は、URLがresettedされていないということです。..そして、このような結果は、すべての操作は私が作ったという結果と
http://127.0.0.1:8000/SSO_Management_POC/userfilt/insertForm/#
そのページにはもうマップされていないために機能しません。
これは、次のとおりです。
、代わりに
私の問題は、より良い説明しようとするには...
私はミリアンペアに行きます(http://127.0.0.1:8000/SSO_Management_POC/userfilt/insertForm/)
:ページ内( http://127.0.0.1:8000/SSO_Management_POC/userfilt/)"GET/SSO_Management_POC/userfilt/HTTP/1.1" 200 2648
はその後、私は、フォームを呼び出すために作成するユーザーをクリックして、それは私をもたらします
"GET/SSO_Management_POC/userfilt/insertForm/HTTP/1。 それはここ
http://127.0.0.1:8000/SSO_Management_POC/userfilt/insertForm/#
を私に持って来る:私はフォームを送信し、私は戻ってメインページに取得したいと思い、ここに私は理解していないものが来るよりも、1" 200 1549 :は、しかし、私は、これは再びコードです
http://127.0.0.1:8000/SSO_Management_POC/userfilt
ここに行きたいです
return render(request, "SSO_Management_POC/userfilt.html")
これが作られたの呼び出しです:
"POST/SSO_Management_POC/userfilt/insertForm/HTTP/1.1" 200 2648
私はHttpResponseRedirectと、レンダリングにしようとしたように...しかし、いつもそれは私が前のものと呼んでいるurlを起こす、私はそれがリセットされたい、私はそれが../!!!
私のために働くだけの事はある:
return redirect("../")
しかし
- これは、これはPOST呼び出しを行うために許可していません
- 汚れています!ダニエル・へ
UPDATE おかげで、私はまた、このようにそれを修正:
return redirect('/SSO_Management_POC/userfilt')
しかし、それはまだと私に同じ問題を与える:http://127.0.0.1:8000/SSO_Management_POC/userfilt/insertForm/
に私を取得return render(request,'/SSO_Management_POC/userfilt')
ありがとう、フォークス!
私はあなたの質問を理解していません...フォームをURL AからURL Bにリダイレクトしたい場合は、URL Bを宛先( 'action =" ... "')にする必要がありますあなたのフォーム(その場合はビューBはフォームを処理しなければなりません)、またはAへの投稿を使用してBにリダイレクトしますが、POSTリクエストでURL Bをロードすることはできません。どちらのオプションを好むでしょうか? – raphv
私はアクションを使用すると、常に/ SSO_Management_POC/userfiltの代わりにhttp://127.0.0.1:8000/SSO_Management_POC/userfilt/insertForm/userfilt.htmlに移動します。htmlそれは常に私が最後のページ、フォーム1に私のテキストを追加する! – ivoruJavaBoy