此处是Django的新词,需要一些帮助。我有一个布尔变量empty = True。我成功地通过视图将变量传递给了模板。在模板中,我有一个while循环,其中包含if / else语句。如果满足if语句中的条件,我需要能够将我的变量更改为False。一旦我退出循环,就会有另一个if / else语句来检查为空。
我似乎无法弄清楚如何在模板中更改变量。
我确实尝试过with语句来更改变量,但是它对我来说无法正常工作,因为我必须在循环结束之前结束with语句。 with语句结束后,变量将恢复为原始值
观看次数- '''
def myProjects(request):
user = request.user
projects = Project.objects.all() #from db
empty=True
return render(request,'users/myProjects.html',locals())
''' 范本- '''
<div class="row" id="main1">
<div class="col-2"></div>
<div class="col-9">
<div>
<h1>My Projects: </h1>
{% for x in proj %}
{% if x.creator.user == me %}
<div class="media1">
<img class="account-img" src="{{x.projectPicture.url}}">
<div>
<h5><strong>Project Name: {{x.projectName}}</strong></h5>
<p>Project Type: {{x.projectType}}</p>
<p>Creator: <a href="/allUsers?name1={{x.creator.user}}"> {{x.creator.user}} </a></p>
<p class="text-muted small">Created: {{x.dateTime}}</p>
</div>
</div>
{{empty=False}}
{% else %}
{{pass}}
{% endif %}
{% if empty==True %}
<p>You do not have any projects</p>
{% else %}
{{pass}}
{% endif %}
{% endfor %}
</div>
</div>
</div>
{% endblock%}
'''
答案 0 :(得分:0)
在模板中设置变量值违反Django的设计理念。模板系统旨在用于separate logic from presentation和avoid being a programming language。
要实现您要执行的操作,可以先在视图中过滤项目,然后使用for...empty标签。您的示例将如下所示:
mode.predict