フォームのループから複数のフィールドを登録するにはどうすればよいですか?

ジェレミー・レジェンドレ

ループして質問への回答を記録するにはどうすればよいですか?私はいくつかの質問を持っており、すべての力に同時に答えて、すべての質問と答えのループを作成できるループを作成しますが、フォームを検証すると、データベースに登録されません...

だからこれは私のmodels.pyです:

class Page(models.Model):
    title = models.CharField(max_length=30)


    def __str__(self):
        return self.title

class Question(models.Model):
    label = models.CharField(max_length=30)
    page = models.ManyToManyField(Page)

    def __str__(self):
            return self.label

class Reply(models.Model):
    question = models.ForeignKey(Question)
    user = models.ForeignKey(Personne)
    answer = models.CharField(max_length=30)
    creationDate = models.DateTimeField(default=django.utils.timezone.now)

    def __str__(self):
        return str(self.answer)

と私のテンプレート:

<center><h3> Formulaire de la {{ numPages }} pour lutilisateur : <center>{{ logged_user|upper }}.</center> </h3></center>
<form action="" method="POST" enctype="multipart/form-data" >
    {% csrf_token %}
    <!-- {{ form.as_p }} -->
  <p>
    {% for question in questions %}<hr>
    <label for="question">{{ question }}</label>
    <input type="hidden" id="id_question_{{ question.id }}" name="question" value="{{ question.id }}"/>
  </p>
  <p>
    <label for="answer">Réponse :</label>
    <input type="text" id="id_answer_{{ question.id }}" name="answer" />
  </p>  
    {% endfor %}<hr>
  <p>
    <label for="creationDate">Date de création :</label>
    <input type="text" id="id_creationDate" name="creationDate" />
  </p> 
  <p>
    <label for="user"> User : {{ logged_user }}</label>
    <input type="hidden" id="id_user" name="user" /><!-- <select name="{{ logged_user }}" size="1">
      <option id="{{ logged_user.id }}">{{ logged_user }}</option>
    </select> -->
  </p>
  <p>
  <br><br><br>
    <center><input type="submit" class="btn btn-success" value="Submit" /></center>
  </p>
</form>

と私のviews.py:

def access(request,instance):
    replies = Reply.objects.all()
    logged_user = get_logged_user_from_request(request)
    numPages = Page.objects.get(pk=instance)
    questions = Question.objects.filter(page=instance)
    pagesfilter = Question.objects.get(pk=1) # PEUT ETRE CHANGER SE FILTRE - A VOIR
    # pagesfilter = Page.objects.get(pk=instance).reply_set.filter(user=logged_user) # PEUT ETRE CHANGER SE FILTRE - A VOIR
    form = ReplyForm(request.GET)
    personnes = Personne.objects.all()
    if logged_user:
        if len(request.POST) > 0:
            form = ReplyForm(request.POST)
            if form.is_valid():
                user = form.cleaned_data['user']
                question = form.cleaned_data['question']
                answer = form.cleaned_data['answer']
                form.save(commit=True)
                return HttpResponse(form.cleaned_data["user"])
            else:
                return render_to_response('polls/access.html', {'logged_user':logged_user, 'pagesfilter': pagesfilter, 'numPages': numPages, 'personnes': personnes, 'replies': replies, 'questions': questions, 'form': form})
        else:
            form = ReplyForm()
            return render_to_response('polls/access.html', {'logged_user':logged_user, 'pagesfilter': pagesfilter, 'numPages': numPages, 'personnes':personnes, 'replies': replies, 'questions': questions, 'form': form})
    else:
        return HttpResponseRedirect('/login')

私のforms.py

class ReplyForm(forms.ModelForm):
    class Meta:
        model = Reply
        fields = ('question','answer','user')

URLを編集:

url(r'^baseVisite/$', views.baseVisite),
url(r'^access/(?P<instance>[0-9]+)/$', views.access),

送信ボタンが機能しないのはなぜですか、何を忘れましたか?

サミュエル・ドーゾン

編集:ModelFormを使用して多くのレコードを更新したい:できませんあなたの例では、{{form.as_p}}フィールドのみが機能します。この投稿のような標準フォームを使用する必要があります:djangoフォームでフィールドのリストを作成する方法

構文テンプレートが間違っています。あなたのpタグがあなたの外にあるためループ。

代わりにこれを試してください:

<center><h3> Formulaire de la {{ numPages }} pour lutilisateur : <center>{{ logged_user|upper }}.</center> </h3></center>
<form action="" method="POST" enctype="multipart/form-data" >
  {% csrf_token %}
  <!-- {{ form.as_p }} -->
  {% for question in questions %}
    <hr>
    <p>
      <label for="question">{{ question }}</label>
      <input type="hidden" id="id_question_{{ question.id }}" name="question" value="{{ question.id }}"/>
    </p>
    <p>
      <label for="answer">Réponse :</label>
      <input type="text" id="id_answer_{{ question.id }}" name="answer" />
    </p>  
  {% endfor %}<hr>
  <p>
    <label for="creationDate">Date de création :</label>
    <input type="text" id="id_creationDate" name="creationDate" />
  </p> 
  <p>
    <label for="user"> User : {{ logged_user }}</label>
    <input type="hidden" id="id_user" name="user" /><!-- <select name="{{ logged_user }}" size="1">
      <option id="{{ logged_user.id }}">{{ logged_user }}</option>
    </select> -->
  </p>
  <p>
  <br><br><br>
    <center><input type="submit" class="btn btn-success" value="Submit" /></center>
  </p>
</form>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Laravel 5.6のデフォルト登録フォームにカスタムフィールドを追加するにはどうすればよいですか?

分類Dev

Wordpressの新規ユーザー登録フォームのフィールドを非表示にするにはどうすればよいですか?

分類Dev

djangoの質問に複数のフォームフィールドタイプの選択肢を追加するにはどうすればよいですか?

分類Dev

登録時に要求されるフィールドの数を減らすにはどうすればよいですか?| OpenCart 2

分類Dev

deviseによって生成された登録フォームにフィールドを追加するにはどうすればよいですか?

分類Dev

xibファイルから複数のTableViewCellを登録するにはどうすればよいですか?

分類Dev

PHPで複数のフォームフィールドを含むメールを送信するにはどうすればよいですか

分類Dev

django登録フォームにフィールドを追加するにはどうすればよいですか?

分類Dev

一意のフォームの複数の入力フィールドを取得するにはどうすればよいですか?

分類Dev

Django-Registrationバージョン1.0でデフォルトの登録フォームを上書きするにはどうすればよいですか?

分類Dev

Odooのポップアップから親フォームのフィールドを取得するにはどうすればよいですか?

分類Dev

ルートグループに複数のミドルウェア権限を登録するにはどうすればよいですか?-Laravel

分類Dev

親フォームからフィールドを削除するにはどうすればよいですか?

分類Dev

Magento 2.2の顧客登録にカスタムフィールドを追加するにはどうすればよいですか?

分類Dev

DJangoのBootstrapを使用してユーザー登録フォームのスタイルを設定するにはどうすればよいですか?

分類Dev

djangoフレームワークのフォームフィールドから値を取得するにはどうすればよいですか?

分類Dev

複数のプラットフォームのノードモジュールを復元するにはどうすればよいですか?

分類Dev

データベースからの値でTapestryのフォームフィールドを検証するにはどうすればよいですか?

分類Dev

reactの複数のフィールドから同じ入力タイプから値を取得するにはどうすればよいですか?

分類Dev

WooCommerce登録ページにパスワードの確認フィールドを追加するにはどうすればよいですか?

分類Dev

複数の入力ファイルでPHPの「SWITCH」関数を使用して、HTMLフォームから複数のファイルをアップロードするにはどうすればよいですか?

分類Dev

XMLDataフィールドの複数のノードから複数の行を取得するにはどうすればよいですか?

分類Dev

フルテキストフィールドPostgreSQLにスラッシュ付きの登録番号を保存するにはどうすればよいですか?

分類Dev

JpaRepositoryの複数のフィールドでFindAllByを使用するにはどうすればよいですか?

分類Dev

Googleスプレッドシートのフィルターから複数の値を選択するにはどうすればよいですか?

分類Dev

opencart 3.0.2の登録ページの姓名フィールドをマージするにはどうすればよいですか?

分類Dev

Djangoの登録フォームに2つのモデルを追加するにはどうすればよいですか?

分類Dev

データフレームから複数のグループのmatplotlibにエラーバーを追加するにはどうすればよいですか?

分類Dev

複数のテーブルから1つのフィールドのデータを取得するにはどうすればよいですか?

Related 関連記事

  1. 1

    Laravel 5.6のデフォルト登録フォームにカスタムフィールドを追加するにはどうすればよいですか?

  2. 2

    Wordpressの新規ユーザー登録フォームのフィールドを非表示にするにはどうすればよいですか?

  3. 3

    djangoの質問に複数のフォームフィールドタイプの選択肢を追加するにはどうすればよいですか?

  4. 4

    登録時に要求されるフィールドの数を減らすにはどうすればよいですか?| OpenCart 2

  5. 5

    deviseによって生成された登録フォームにフィールドを追加するにはどうすればよいですか?

  6. 6

    xibファイルから複数のTableViewCellを登録するにはどうすればよいですか?

  7. 7

    PHPで複数のフォームフィールドを含むメールを送信するにはどうすればよいですか

  8. 8

    django登録フォームにフィールドを追加するにはどうすればよいですか?

  9. 9

    一意のフォームの複数の入力フィールドを取得するにはどうすればよいですか?

  10. 10

    Django-Registrationバージョン1.0でデフォルトの登録フォームを上書きするにはどうすればよいですか?

  11. 11

    Odooのポップアップから親フォームのフィールドを取得するにはどうすればよいですか?

  12. 12

    ルートグループに複数のミドルウェア権限を登録するにはどうすればよいですか?-Laravel

  13. 13

    親フォームからフィールドを削除するにはどうすればよいですか?

  14. 14

    Magento 2.2の顧客登録にカスタムフィールドを追加するにはどうすればよいですか?

  15. 15

    DJangoのBootstrapを使用してユーザー登録フォームのスタイルを設定するにはどうすればよいですか?

  16. 16

    djangoフレームワークのフォームフィールドから値を取得するにはどうすればよいですか?

  17. 17

    複数のプラットフォームのノードモジュールを復元するにはどうすればよいですか?

  18. 18

    データベースからの値でTapestryのフォームフィールドを検証するにはどうすればよいですか?

  19. 19

    reactの複数のフィールドから同じ入力タイプから値を取得するにはどうすればよいですか?

  20. 20

    WooCommerce登録ページにパスワードの確認フィールドを追加するにはどうすればよいですか?

  21. 21

    複数の入力ファイルでPHPの「SWITCH」関数を使用して、HTMLフォームから複数のファイルをアップロードするにはどうすればよいですか?

  22. 22

    XMLDataフィールドの複数のノードから複数の行を取得するにはどうすればよいですか?

  23. 23

    フルテキストフィールドPostgreSQLにスラッシュ付きの登録番号を保存するにはどうすればよいですか?

  24. 24

    JpaRepositoryの複数のフィールドでFindAllByを使用するにはどうすればよいですか?

  25. 25

    Googleスプレッドシートのフィルターから複数の値を選択するにはどうすればよいですか?

  26. 26

    opencart 3.0.2の登録ページの姓名フィールドをマージするにはどうすればよいですか?

  27. 27

    Djangoの登録フォームに2つのモデルを追加するにはどうすればよいですか?

  28. 28

    データフレームから複数のグループのmatplotlibにエラーバーを追加するにはどうすればよいですか?

  29. 29

    複数のテーブルから1つのフィールドのデータを取得するにはどうすればよいですか?

ホットタグ

アーカイブ