Django 1.8用html代码调用数据库

时间:2016-09-20 21:51:50

标签: python html django

这个网站的长期潜伏者,但我最终决定加入社区。

我对我的一些代码有一个快速的问题。我今年为我的大学找了一份工作,为记者部门开发了一个网站。该网站是由另一名学生使用Django 1.8,python 2以及其他所有其他内容构建的。我对这些语言知之甚少,而且我已经学会了很多时间来测试不同的方法。但是,有一件事我遇到了麻烦,我已经永远研究过了。

基本上,对于我的网站,我有不同的"部分"对于不同的文章页面。这些文章有很多特点。一个特征被称为"部分"这部分有页面的名称。例如:

一页名为"外观"。我可以调用我的代码并显示我的所有features_article。但是,我试图只显示部分名称等于"看起来"的文章。

这是我目前的代码。有任何想法吗?我尝试了很多东西,但我无法让它正常工作。 For循环,if语句,不同的HTML进程,django中的不同页面等......

{% for article, section in featured_articles %}
<div class="media panel panel-default">
    <div class="panel-body">
        <div class="media-left">
            <a href="articles/{{ article.url }}">
                <img class="media-object thumbnail-featured"
                     src="{{ article.image }}">
             </a>
        </div>
        <div class="media-body">
            <a href="articles/{{ article.url }}">
                <h3 class="media-heading">{{ article.title }}</h3>
            </a>


            <!-- TODO figure out how to iterate through the authors field, manytomany -->
            {% for contributor in article.authors.all %}
                <p><a href="/{{ section.url }}">{{ section.name }}</a> |
                   <a href="/contributors/{{ contributor.twitter }}">{{contributor}}</a></p>
            {% endfor %}

            <p>{{article.preview}}</p>
        </div>
    </div>
</div>
{% endfor %}

感谢您的帮助!!

2 个答案:

答案 0 :(得分:1)

总的来说,这不是一个好主意。您是要将所有数据发送到模板引擎并在那里进行过滤吗?

为什么不在视图函数/视图类中过滤它,然后在模板变量中返回该数据然后在前端渲染?

def detail(request, poll_id):       
    filtered_data = .......objects.get(name='look')
    return render(request, 'polls/detail.html', {'look_data': filtered_data})

{% for article, section in look_data %}
<div class="media panel panel-default">
    .... blah blah blah
</div>
{% endfor %}

答案 1 :(得分:0)

据我了解,你只需要添加if语句:

{% for article, section in featured_articles %}
{% if section.name == 'look' %}
<div class="media panel panel-default">
    <div class="panel-body">
        <div class="media-left">
            <a href="articles/{{ article.url }}">
                <img class="media-object thumbnail-featured"
                     src="{{ article.image }}">
             </a>
        </div>
        <div class="media-body">
            <a href="articles/{{ article.url }}">
                <h3 class="media-heading">{{ article.title }}</h3>
            </a>


                <!-- TODO figure out how to iterate through the authors field, manytomany -->
                {% for contributor in article.authors.all %}
                <p><a href="/{{ section.url }}">{{ section.name }}</a> |
                    <a href="/contributors/{{ contributor.twitter }}">{{           contributor }}</a> </p>
                    {% endfor %}

                          <p>{{article.preview}}</p>
        </div>
    </div>
</div>
{% endif %}
{% endfor %}