Dav*_*idL 7 django django-templates django-forms django-generic-views
如何在Django的Createview中声明变量,以便从模板中使用它?例如,我想在模板中使用{{place_slug}}.我从urls.py传递了这个,如下所示:
urls.py:
urlpatterns = patterns('',
(r'^new/(?P<place_slug>[\w\-\_]+)/?$', PictureCreateView.as_view(), {}, 'upload-new'),
)
Run Code Online (Sandbox Code Playgroud)
views.py:
class PictureCreateView(CreateView):
model = Picture
def dispatch(self, *args, **kwargs):
self.place = get_object_or_404(Place, slug=kwargs['place_slug'])
return super(PictureCreateView, self).dispatch(*args, **kwargs)
def form_valid(self, form):
more code here
Run Code Online (Sandbox Code Playgroud)
dok*_*ebi 15
覆盖get_context_data并设置context_data ['place_slug'] = your_slug
像这样的东西:
def get_context_data(self, **kwargs):
context = super(PictureCreateView, self).get_context_data(**kwargs)
context['place_slug'] = self.place.slug
return context
Run Code Online (Sandbox Code Playgroud)
在Django文档中有关于此的更多信息.
| 归档时间: |
|
| 查看次数: |
4788 次 |
| 最近记录: |