0

ページ間でデータを渡そうとしていますが、機能しません。任意のヒント?[送信]をクリックすると、空白のページが表示されます。更新すると、基本テンプレートスタイルが表示されますが、データは渡されません。

index.html

{% extends "polls/base.html" %}

{% block title %}Vote{% endblock %}


{% block content %}

<h1>Welcome</h1>

<form action="/polls/" method="post">{% csrf_token %}
<p><label for="pin">Enter group pin:</label>
    <input id="pin" type="text" name="pin" maxlength="4" />
  <input type="submit" value="View Polls" /></p>
</form>

    <a href="admin/">Moderator login</a>

</p>

{% endblock %}

polls / index.html

{% extends "polls/base.html" %}

{% block title %}Recent Polls{% endblock %}

{% block content %}

{{ pin }}

{% endblock %}

polls / urls.py

url(r'^$',
        ListView.as_view(
            model=Poll,
            template_name='polls/index.html')),
4

1 に答える 1

0

フォームの送信を処理するためのビューを作成する必要があります。動作するビューは、すべての投票を一覧表示しています。チュートリアルを読むことをお勧めします:

基本的なビュー:https ://docs.djangoproject.com/en/1.4/intro/tutorial03/ フォームの送信:https ://docs.djangoproject.com/en/1.4/intro/tutorial04/

基本的に、フォームはデータの処理を処理する別のURLにデータを送信します。

action属性で指定する必要があります。

<form action="/polls/create-poll" method="post">{% csrf_token %}
<input type='text' name='poll-name' />
<input type='submit' />
</form>

そしてあなたの見解では:

def create_poll(request):
    poll_name = request.POST.get('poll-name')
    poll = Poll.objects.create(name=poll_name)
    return HttpResponse("Poll created")

失礼に聞こえたくない。ただし、HTTPとHTMLのチュートリアルから始める必要があります。優れたWebプログラマーとは、基本的なことを詳細に知っているプログラマーです。HTTPは優れたプロトコルです。それをずっと学んでみてください。

于 2013-02-04T20:55:00.683 に答える