0
forループに1つのボタンを表示したいのですが、私は多くのボタンをグループとして作成しています。だから、私がメンバーの一人である3つのグループを作ったとき、私はすべてのグループの下に3つのボタンを持っていました。問題は、私のコードでは、この最初のループですが、私はこれを解決する方法がわかりません。Groupsモデル、ManyToManyフィールドで不正なfor-loopになっています
問題は、ループである:
{% for z in mem %}
私はそれのようだ任意のメンバーシップを作成する場合:
m = Membership.objects.create(person="damian", group="name_group", leader=True)/or False
任意の助けをありがとう!
groups.html:
{% for g in gr %}
<div class="jumbotron">
<div class="jumbo2">
<form method="POST" class="post-form"> {% csrf_token %}
<p id="name"><b>Group's name:</b> {{g.name}}</p><br>
{% for member in g.members.all %}
<p><b>Member:</b> {{member.name}} </p>
{% endfor %}
<br>
<span class="desc2">Group's description:</span>
<p id="desc">{{g.description}}</p><br>
{% for z in mem %}
{% if z.leader == False %}
<button style="float: right" type="submit" name = "leave" value = "{{g.name}}" class="save btn btn-default">Leave</button>
{% elif z.leader == True %}
<button style="float: right" type="submit" name = "delete" value = "{{g.name}}" class="save btn btn-default">Delete</button>
{% endif %}
{% endfor %}
</form>
<br><br>
<p>
{% if messages %}
{% for message in messages %}
<p>{{ message }}</p>
{% endfor %}
{% endif %}
</p>
</div>
</div>
{% endfor %}
views.py:
cvs = Cv.objects.all()
cv = Cv.objects.filter(author = request.user)
per = Person.objects.all()
gr = Group.objects.filter(members__name=request.user)
perr = Person.objects.filter(name=request.user)
mem = Membership.objects.filter(group = gr, person = perr)
form = GroupForm()
context = {
'gr': gr,
'per':per,
'mem':mem,
'form': form,
'cvs':cvs,
'cv':cv,
}
return render(request, 'groups.html', context)
models.py:
class Person(models.Model):
name = models.CharField(max_length=128)
def __str__(self): # __unicode__ on Python 2
return self.name
class Group(models.Model):
name = models.CharField(max_length=128)
members = models.ManyToManyField(Person, through='Membership')
description = models.TextField(max_length=350)
def __str__(self): # __unicode__ on Python 2
return self.name
class Membership(models.Model):
person = models.ForeignKey(Person)
leader = models.BooleanField(default=False)
group = models.ForeignKey(Group)
なぜあなたはまだ読めない2文字の変数名の使用を主張していますか?変数がグループを表す場合、 'gr'ではなく' groups'と呼んでください。私たちは80年代に住んでいませんが、コンピュータにはフルワード変数名のための十分な記憶があります。 –
申し訳ありませんが、私の最初のアプリなので、自分でやろうとしています。しかし、私は未来のために自分自身を正していきます。とにかく、この問題を解決する方法を知っていますか? – Damian
正直なところ私は問題が何かを理解していませんでした。あなたは何を目にしたいのですか?あなたは現在何を見ていますか? – Selcuk