数据库节省&使用django

时间:2017-09-17 09:41:35

标签: django django-models

我有一个问题,我不知道它为什么会发生以及如何解决它; 我的应用程序要求用户创建项目并直接重定向到项目详细信息页面。在该详细信息页面上,如果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%}

1 个答案:

答案 0 :(得分:1)

查看周围的代码,您使用project作为项目的容器。但是,在您的语句中,您使用的是Project(第一个字符大写)。将Project更改为project可能有所帮助。

您的评论问题:

  

你是什么意思&#34;看看周围的代码,你正在使用项目作为项目的容器&#34;。我的模型项目是大写字母,为什么现在没有?

使用looking at the surrounding code我的意思是我真正查看了代码如何在代码的其他部分中使用变量。我不确定您是使用CBV(基于类的视图)还是FBV(基于函数的视图)。

使用CBV,对象将添加到具有以下名称中定义的名称的上下文中: DetailView:81ListView:104

您可以使用View类

中的context_object_name override the context object name

如果您使用的是FBV,则可以手动将其添加到上下文中,如下所示:

return render(request, 'myapp/template.html', {
    'project': <project_query_or_variable>,
})