Django Представление на основе функций - значение переменной не возвращает значения, если задано внутри условного выражения - PullRequest
0 голосов
/ 07 августа 2020

Установка session_uid при загрузке страницы. Затем передача этого session_uid серверу для создания каталога для временного хранения файлов. Переменная session_uid изменяется на None, если я пытаюсь вызвать переменную в условном операторе IF, как показано в моем фрагменте кода. Почему это происходит? Есть ли лучший способ создать временный каталог? Я использую виджет загрузки файлов Себастьяна Чана .

views.py

if request.method == 'POST':
    session_uid = request.POST.get('session_uid') # session uid is generated by uuid.uuid4() that is passed in the GET method via the return render's context dictionary. 
    temp_path = os.path.join(settings.MEDIA_ROOT, str(session_uid))
    print(temp_path)  # prints as expected (e.g. \media\be017eb6-be74-421a-96dd-8c171a933c54)

    if 'file' in request.FILES: # to save files that are uploaded
        form = FileForm(request.POST, request.FILES)
        print(temp_path)  # the session_uid variable now is None (e.g. \media\None)
        # remaining code to save the file to the path #
script.js

function send_uid_value(){
    var formAction = $(this).attr('data-url');

    $.ajax({
        url: formAction,
        method: 'POST',
        data: {session_uid: $("#uid").val()},
    });
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...