我无法在此处将我的get_profiles传递到与r'^ compose/$'相同的模板中。 r'^ users/$'是我用作模型的工具。 “撰写”是我的views.py中的一个功能。Django将对象列表传递给模板
from django.conf.urls.defaults import * from django.views.generic.simple import redirect_to from django.views.generic.simple import direct_to_template from messages.views import * from userprofile.views import get_profiles urlpatterns = patterns('', url(r'^$', redirect_to, {'url': 'inbox/'}), url(r'^inbox/$', inbox, name='messages_inbox'), url(r'^outbox/$', outbox, name='messages_outbox'), url(r'^compose/$', compose, name='messages_compose'), url(r'^users/$', direct_to_template, {'extra_context': { 'profiles': get_profiles }, 'template': 'messages/users.html' }), )
userprofile/views.py def get_profiles(): return Profile.objects.order_by("user")
我尝试这样做:
url(r'^compose/$', compose, direct_to_template, {'extra_context': { 'profiles': get_profiles }, 'template': 'messages/compose.html' }),
但我得到一个函数对象不是可迭代。
编辑帖子。 get_profiles只是返回我的Profile对象。我想用我的撰写信息在模板中列出这些。你能否详细说明制作模板标签?我将在此搜索。 – leffe 2011-05-03 09:33:09
http://docs.djangoproject.com/en/1.3/howto/custom-template-tags/ - 特别参见关于在上下文中设置变量的部分。请注意,它似乎比实际情况更复杂。 – 2011-05-03 09:35:20