UnboundLocalError:在assignmen之前引用了本地“category”变量

2024-05-21 20:56:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我学习django的方法是做一个小的web应用程序,我从现在的第6章开始学习

在视图.py在

   category_list = Category.objects.order_by('-likes')[:5]  
   def index(request):
   context = RequestContext(request)
   global category_list
   context_dict = {'categories': category_list}

    for category in category_list:
    category.url = category.name.replace(' ', '_')
    return render_to_response('rango/index.html', context_dict, context)


    def category(request, category_name_url):

     context = RequestContext(request)
     category_name = category_name_url.replace('_', ' ')
     context_dict = {'category_name': category_name}

try:

    category = Category.objects.get(name=category_name)
    pages = Page.objects.filter(category=category)
    context_dict['pages'] = pages
    context_dict['category'] = category

except Category.DoesNotExist:
    pass

return render_to_response('rango/category.html', context_dict, context)

在网址.py在

^{pr2}$

实际上category_name_url=u'python'这对python很好,但是我不确定在值之前{},我正在处理eclipse


Tags: namepyurlindexobjectsrequestdefcontext
1条回答
网友
1楼 · 发布于 2024-05-21 20:56:33

该回溯与您的代码不匹配。视图代码显示Category.DoesNotExist,而回溯显示category.DoesNotExist。前者之所以有效,是因为定义了类Category。后者将不起作用,因为当Category.objects.get()引发异常时,category还不存在。在

如果上面的视图代码是正确的,那么您就遇到了一些其他问题,导致执行过时的代码。在

相关问题 更多 >