为什么不在所有页面django中导入模型

时间:2013-09-01 23:40:20

标签: python django

from models import *


def info(request):
    yasin = "teksaas"
    if check_key(request):
        api = get_api(request)
        user = api.me()
        userid = user.id
        accounts=accounts.objects.filter(twitterid=userid)
        if accounts == 1:
            return render_to_response('twitter_auth/info.html', locals())
        else:

            registeracc=accounts(twitterid=412313,others='Hello im jsaon walker what your problem i cant unt')
            registeracc.save()
            return render_to_response('twitter_auth/info.html', locals()) 
    else:
        return HttpResponseRedirect(reverse('main'))


Error : local variable 'accounts' referenced before assignment

如果我更改此代码它正在运行,但我不想要多个导入模型

def info(request):
    yasin = "teksaas"
    if check_key(request):
                from models import *
        api = get_api(request)
        user = api.me()
        userid = user.id
        accounts=accounts.objects.filter(twitterid=userid)
        if accounts == 1:
            return render_to_response('twitter_auth/info.html', locals())
        else:
            from models import *
            registeracc=accounts(twitterid=412313,others='Hello im jsaon walker what your problem i cant unt')
            registeracc.save()
            return render_to_response('twitter_auth/info.html', locals()) 
    else:
        return HttpResponseRedirect(reverse('main'))

1 个答案:

答案 0 :(得分:1)

不要像你的班级一样命名你的变量

accounts=accounts.objects.filter(twitterid=userid)

尝试修复它并查看是否可以提供帮助

from models import *
def info(request):
    yasin = "teksaas"
    if check_key(request):
        api = get_api(request)
        user = api.me()
        userid = user.id
        acc=accounts.objects.filter(twitterid=userid)
        if acc:
            return render_to_response('twitter_auth/info.html', locals())
        else:

            registeracc=accounts(twitterid=412313,others='Hello im jsaon walker what your problem i cant unt')
            registeracc.save()
            return render_to_response('twitter_auth/info.html', locals()) 
    else:
        return HttpResponseRedirect(reverse('main'))