我知道有很多与此相关的问题,比如这个,但我似乎没有帮助。
我的问题很简单,给定这个函数签名,我该如何覆盖视图profile_detail
?我似乎完全按照两个资源所说的那样做所有事情,但是我的模板仍然没有收到额外的上下文。这是我想做的事情:
# This overrides and extends userena's view named 'profile_detail'.
def profileDetailView(request, username):
# Do some logic, etc.
foo_list = Some.objects.filter(id=username)
extra_context = {'foo_list': foo_list}
# I have also tried the following for extra_context:
extra_context['foo_list'] = foo_list
return userena_views.profile_detail(request, username, template_name='userena/profile_detail.html',
extra_context=extra_context)
我不确定我哪里出错了。我的 URL 是正确的,因为它正在加载我的视图而没有错误。此外,我已经通过 shell 测试通过foo_list
导入对象创建 - 它有效。我还做了一个测试,以确保传入的用户名实际上会导致找到一个对象。因此 - 似乎唯一的问题可能是extra_context
,至少我希望!任何帮助将非常感激!
编辑:文件结构请求
├── project
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── models.py
│ ├── models.pyc
│ ├── settings.py
│ ├── settings.pyc
│ ├── static
│ │ ├── css
│ │ │ └─
│ │ └── js
│ ├── test.py
│ ├── urls.py
│ ├── urls.pyc
│ ├── wsgi.py
│ └── wsgi.pyc
├── manage.py
├── media
├── templates
│ ├── admin
│ │ └── base_site.html
│ ├── base_site.html
│ ├── errors
│ │ └── not_authorized.html
│ └── userena
│ ├── base.html
│ ├── base_userena.html
│ ├── profile_detail.html
│ ├── profile_details.html
│ └── signup_form.html
└── utils
TEMPLATE_DIRS = (
'/home/username/project/project/templates',
)