在Django视图中无法访问变量

时间:2019-02-02 15:54:37

标签: python django django-views

我正在尝试在Django视图中访问变量。尽管它未在两个视图中均作为参数传递,但它只能在一个视图中使用,而在另一视图中则无效。

该变量是从.apps导入的,称为botlist_root。它包含在服务器上运行的漫游器的列表。

这是它起作用的视图:

@login_required
def bot(request, name):
    if request.method == 'GET':
        for bot in botlist_root:
            if bot.getname() == name:
                context = {'bot': bot}

                return render(request, 'bot_manager/details.html', context)

        context = {'name': name}
        return render(request, 'bot_manager/error.html', context)
    else:
        for bot in botlist_root:
            if bot.getname() == name:
                context = {'bot': bot}
                bot.start()

                return redirect('./', context)

而这正是它不起作用查看:

@login_required
def index(request):
    if request.method == 'GET':
        namelist = []
        for bot in botlist_root:
            namelist.append(bot.getname())
        context = {'bots': botlist_root}
        return render(request, 'bot_manager/index.html', context)
    else:
        botlist_root = listbots()
        namelist = []
        bots = botlist_root

        for bot in bots:
            namelist.append(bot.getname())
        context = {'bots': bots}
        return render(request, 'bot_manager/index.html', context)

这些都是导入语句:

from django.shortcuts import render, redirect
from django.contrib.auth.decorators import login_required
from .apps import botlist_root, listbots
from django.template import TemplateDoesNotExist

我不理解为什么我可以访问botlist_root从机器人视图,但不会从索引图。

0 个答案:

没有答案