我有一个问题,我不知道它为什么会发生以及如何解决它; 我的应用程序要求用户创建项目并直接重定向到项目详细信息页面。在该详细信息页面上,如果team_id为空,我会要求用户创建一个团队,当团队创建后,用户将再次重定向到项目详细信息页面,现在可以填充他的团队。
我在创建他的团队后重定向用户时使用了代码{%if Project.team_id == None%}但是它不能正常工作..你能帮忙吗?就像重定向之前一样,新团队没有保存在Db中。 我的HTML:
{% extends 'base.html' %}
{% block body %}
<div class="container">
<div class="jumbotron">
<h2>Welcome to your Project {{ project.name }} Detail page</h2>
</div>
{% if Project.team_id == None %}
<div class="invite-team">
<div class="jumbotron">
<div class="jumbo-text">
<h3>It is time to link a team to your project now create a new team and add team members</h3>
</div>
<div class="jumbo-button">
<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>
{% else %}
<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_register' %}" class="btn btn-success" role="button"><span class="glyphicon glyphicon-plus"></span> Create a new team</a>
</div>
</div>
</div>
{% endif %}
</div>
</div>
{% endblock%}
答案 0 :(得分:1)
查看周围的代码,您使用project
作为项目的容器。但是,在您的语句中,您使用的是Project
(第一个字符大写)。将Project
更改为project
可能有所帮助。
您的评论问题:
你是什么意思&#34;看看周围的代码,你正在使用项目作为项目的容器&#34;。我的模型项目是大写字母,为什么现在没有?
使用looking at the surrounding code
我的意思是我真正查看了代码如何在代码的其他部分中使用变量。我不确定您是使用CBV(基于类的视图)还是FBV(基于函数的视图)。
使用CBV,对象将添加到具有以下名称中定义的名称的上下文中: DetailView:81 或ListView:104
您可以使用View类
中的context_object_name
override the context object name
如果您使用的是FBV,则可以手动将其添加到上下文中,如下所示:
return render(request, 'myapp/template.html', {
'project': <project_query_or_variable>,
})