Django-CreateView - как объявить переменную и использовать ее в шаблонах
как объявить переменную в Createview Django, чтобы я мог использовать ее из своего шаблона? Например, я хочу использовать {{ place_slug }} в шаблоне. Я передаю это от urls.py как ниже:
urls.py:
urlpatterns = patterns('',
(r'^new/(?P<place_slug>[w-_]+)/?$', PictureCreateView.as_view(), {}, 'upload-new'),
)
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
1 ответов
переопределить 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
дополнительная информация об этом в Django docs.