首页 > 解决方案 > 全局变量在 django 视图中不起作用

问题描述

我想在我的 django 视图中使用一些虚拟数据来处理模板。当帖子变量在主函数之外时,我得到的只是空体。虽然当我把它移到里面时,一切都按原样显示。

from django.shortcuts import render
posts = [
    {
        'author': 'Kamil', 
        'title' : 'Post 1',
        
    }, 
    {
        'author': 'Tomek', 
        'title' : 'Post 2',
    }, 
]

def home(request):
    context = {
        'posts' : posts
    }
    return render(request, 'blog_app/home.html', context)

这也是我的html

<!DOCTYPE html>
<html>
    <head>
        <title></title>
    </head>

    <body>
        {% for post in posts %}
            <h1>{{ post.title }}</h1>
            <p>By {{ post.author }}</p>
        {% endfor %}
    </body>
</html>

标签: pythonhtmldjangodjango-templates

解决方案


使帖子成为全局变量

global posts

posts = [
    {
        'author': 'Kamil', 
        'title' : 'Post 1',
        
    }, 
    {
        'author': 'Tomek', 
        'title' : 'Post 2',
    }, 
]

推荐阅读