Как разделить состояние между запросами в Django?

Это первая функция:

def signup(request):
    if request.method == "POST":
        username = request.POST['uname']
        first_name = request.POST['fname']
        last_name = request.POST['lname']
        email = request.POST['email']
        pass1 = request.POST['pass1']
        pass2 = request.POST['pass2']

Это вторая функция:

def createPost(request):
    if request.method == "POST":
        form = PostForm(request.POST)
        print(form.is_valid())
        if form.is_valid():
            # To extarct data from web page
            title = form.cleaned_data['title_name']
            description = form.cleaned_data['description']
            print(title)
            # To store Data
            PostData.objects.create(title_name=title, description=description)

Как получить значение username из первой функции во вторую?

При обмене состоянием между запросами в HTTP стандартной реализацией является использование сессий. Django предлагает Session сессии из коробки. С помощью сессий вы можете сделать следующее:

def signup(request):
    if request.method == "POST":
        username = request.POST['uname']
        request.session["username"] = username
        #•••Rest of code•••

def createPost(request):
    username = request.session.get("username")
    if username:
        #•••Do something•••
    #•••Rest of code•••

Вероятно, у вас уже настроены Sessions, но если нет, посмотрите docs [django-docs], чтобы начать.

Вернуться на верх