У меня есть экран подробностей, где вы перенаправлены на экран «загрузки» с выбранным значением pk. Кроме того, сам экран загрузки может работать без kwargs, и в этом случае (в отсутствие pk) он подберет / создаст временную запись для каждого пользователя и продолжит ее использовать.
Однако, когда я перенаправлю на " «загрузить» экран с ПК, значение исчезает во время загрузки нескольких файлов
def get_context_data(self, **kwargs):
context = super(UploadImages, self).get_context_data(**kwargs)
if "pk" in self.kwargs:
context.update({'taid':self.kwargs['pk']})
elif context.get("taid") is None:
context.update({'taid':self._get_usr_tmp_album()})
return context
При загрузке файлов, form_valid вызывается для файла, который, в свою очередь, get_context_data вызывается каждый раз. Когда это происходит, self.kwargs возвращает пустое значение (несмотря на то, что идентификатор указан в URL), и, следовательно, код переходит к созданию / чтению временной записи для этого пользователя и возвращает ее.
def form_valid(self,form):
context = self.get_context_data(form=form)
if self.request.is_ajax():
album_id = context['taid']
URL:
http://localhost:8000/images/complete-upload/61/
Есть ли способ получить тот же идентификатор из URL в течение жизненного цикла CBV? Я попробовал сессию, и она полностью оказалась в разных вопросах.