嗨,我正在尝试使我的html起作用,但看来我没有得到东西。
我的html如下:
{% extends 'base.html' %}
{% block body %}
<div class="container">
<div class="jumbotron">
<h2>Welcome to your Project {{ project.name }} Detail page</h2>
</div>
<!-- case 1 = if there is not team created or linked -->
{% if project.team_id == None %}
<div class="invite-team">
<div class="jumbotron">
<div class="jumbo-text">
<h3>Your project has been created, It is time to link a team or create a new for your project</h3>
</div>
<div class="jumbo-button">
<a href="{% url 'website:team_select'%}" class="btn btn-default" role="button"><span class="glyphicon glyphicon-link"></span> Link an existing team</a>
<a href="{% url 'website:add_team' %}" class="btn btn-success" role="button"><span class="glyphicon glyphicon-plus"></span> Create a new team</a>
</div>
</div>
<!-- case 2 = if there is a team created but no team members -->
{% elif project.team_id and project.team_id.members.count == 0 %}
<div class="invite-teammembers">
<div class="jumbotron">
<div class="jumbo-text">
<h3>The team {{ project.team_id }} has beed created, we now need to add TeamMembers</h3>
</div>
<div class="jumbo-button">
<a href="{% url 'registration:team_register3' %}" class="btn btn-success" role="button"><span class="glyphicon glyphicon-plus"></span> Add Team Members</a>
</div>
</div>
</div>
<!-- any other situation -->
{% else %}
<h1>Youhouu</h1>
{% endif %}
</div>
</div>
{% endblock%}
我对链接项目的看法:(链接到URL网站:Team_Select)
def TeamSelect(request):
#import pdb; pdb.set_trace()
if request.method == "POST":
select_form = EditSelectTeam(request.user, request.POST)
if select_form.is_valid():
data = select_form.cleaned_data['team_choice']
obj2 = Project.objects.filter(project_hr_admin=request.user)
obj3 = obj2.latest('id')
if obj3.team_id == None:
obj3.team_id = data
obj3.save()
obj4 = obj3.team_id
obj5 = obj4.members.all()
for i in obj5:
current_site = get_current_site(request)
message = render_to_string('acc_join_email.html', {
'user': i.first_name,
'domain':current_site.domain,
})
mail_subject = 'You have been invited to SoftScores.com please LogIn to get access to the app'
to_email = i.email
email = EmailMessage(mail_subject, message, to=[to_email])
email.send()
messages.success(request, 'test')
return render(request,'project_details.html')
else:
print('this project has already a team')
else:
print('Non Valid form')
else:
select_form = EditSelectTeam(request.user)
return render(request,'link_project.html',
{'select_form':select_form })
我的html并不像应有的那样渲染。我收到以下错误:
Could not parse the remainder: '()' from 'project.team_id.members.count()'
事物是使用shell project.team_id.members.count() == 0
是正确的但是project.team_id.members.count == 0
是False
。
我该如何使它起作用?
更改为:
{% if not project.team_id and project.team_id.members.count == 0 %}
和 {% else %}
而不是 {% else project.team_id.members.count() > 0 %}
(无效)。
请注意,count
呼叫后缺少()
。
这就是您从HTML模板调用count
函数的方式。实际上,任何功能,不仅是这个功能。在behind the scenes
中读取DOT(.
)操作员在Django模板中的工作方式。