Django на веб-сервере Apache объект dict не имеет атрибута render_context - PullRequest
6 голосов
/ 13 июня 2011

У меня небольшая проблема, я загрузил свой проект Django на веб-сервер, на котором запущены apache, mod_python и django.На компьютере, который я разработал на следующем, отлично работает

nameBox = getNamesBox().render(locals())

-

def getNamesBox():
    users = User.objects.filter()

    templateString = '<select name="name box">'
    for user in users:
        templateString += '<option value="' + user.name + '"> ' + user.name + '</option>'

    templateString += '</select>'

    template = Template(templateString)

    return template

Но на веб-сервере при запуске из apache или manage.py runserver он говорит

AttributeError at /order_site/order/
'dict' object has no attribute 'render_context'

Код на обеих машинах идентичен, поэтому я чувствую, что, может быть, это какая-то другая проблема?Это не может сделать мою форму, и я не знаю почему.

1 Ответ

14 голосов
/ 13 июня 2011

Метод render() для Template принимает объект Context в качестве аргумента, а не dict. Вам нужно будет построить Context объект из диктата, например,

namedbox = getNamesBox().render(Context(locals()))
...