4

HTMLファイルを開くと期待どおりに表示され、テキストボックスにデータを入力して送信すると、リダイレクトされますがlocalhost/myapp/output/、テキストボックスに入力したデータが送信されないのはなぜですかlocalhost/myapp/output/data_I_submitted

私の基本的なhtmlファイル:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>db app</title>
</head>
<body>
{% csrf_token %}
<form action="output/" method="post" name="Input">
Data : <input type="text" name="text">
<input type="submit" value="submit">
</form>
</body>
</html>

私のapp.urlsファイルでは:

urlpatterns = patterns('',
    url(r'^$',views.index),
    url(r'^output/(?P<text>\w+)/$',views.return_data)
)

最後にビュー:

def return_data(request,text):
    return HttpResponse('entered text ' + text)
4

2 に答える 2

1

フォームで送信するデータを確認することをお勧めします。次の 2 つの方法を使用して、フォーム アクション属性へのリクエストとともにフォーム データを送信できます。

GET : http://www.google.com/?q=keyword+to+searchのよう に、次の方法で「keyword+to+search」にアクセスできます。

request.GET['q']
#or better is:
request.GET.get('q', None)

テキスト引数はURL パターンに渡されません。この方法ではアクセスできません

POST : このメソッドでは、データはリクエスト URL にありません。POSTメソッドでフォームデータsubmittinにアクセスするには、これを試してください

request.POST['text'] (
#or better is: 
request.POST.get('text', None)

request.POST または request.GET から直接アクセスする代わりに、Django フォームを使用することを強くお勧めします。

これを確認してください:https://docs.djangoproject.com/en/dev/topics/forms/

于 2013-10-30T16:22:56.723 に答える