前提・実現したいこと
入力フォームで入力したデータ一覧を別画面で表示させたいのですが、htmlのfor文をどのように書けばいいのかわかりません。usernameのリストを画面に表示させたいです。
該当のソースコード
python
1class UserAdd(CreateView): 2 template_name = 'card/user/add.html' 3 form_class = SecurityCardUserForm 4 5 def get_context_data(self, **kwargs): 6 card= get_object_or_404(SecurityCard, pk=self.kwargs.get('pk')) 7 return super().get_context_data(card=card,**kwargs) 8 9 def form_valid(self, form): 10 card = get_object_or_404(SecurityCard, pk=self.kwargs.get('pk')) 11 user = form.save(commit=False) 12 user.card = card 13 user.save() 14 return redirect('card-update', pk = card.pk)
html
1{% extends "base.html" %} 2 3{% block content %} 4<form action="{% url 'card-update' pk=object.pk %}" method="post"> 5 {% csrf_token %} 6 {{ form }} 7 <input type="submit" value="変更"/> 8 </form> 9 {% for user in %} 10 <ul> 11 <li> 12 <a href="{% url 'carduser-update' pk=user.pk %}">{{ user }}</a> 13 </li> 14 </ul> 15 {% endfor %} 16{% endblock %}
python
1from django.db import models 2 3 4class SecurityCard(models.Model): 5 is_active = models.BooleanField(default=True) 6 card_number= models.CharField(unique=True, max_length=6) 7 8 updated_at = models.DateTimeField(auto_now=True) 9 created_at = models.DateTimeField(auto_now_add=True) 10 11 def __str__(self): 12 return self.card_number 13 14class SecurityCardUser(models.Model): 15 card = models.ForeignKey(SecurityCard, on_delete=models.CASCADE, related_name='card_users') 16 username = models.CharField(max_length=50) 17 checkout_date = models.DateField(max_length=50) 18 return_date = models.DateField(max_length=50, null=True, blank=True) 19 20 def __str__(self): 21 return self.username 22
そもそも何をしたいのかがなんとなくしか分からないので、聞きたいことを説明するための、すぐ動くサンプルブログラムを用意して、
・どの部分がこうなるべきなのに、こうなってしまう
・自分はこれを試したがこうなってしまい、よく分からない
などの説明を、細大漏らさず書いてください。
自分用のメモなら他所でやりましょう。
あなたの回答
tips
プレビュー