синтаксическая ошибка сообщений django, использующая строку f - PullRequest
0 голосов
/ 01 декабря 2019

Я пытаюсь отправить сообщение пользователю моего сайта, когда он регистрируется, я использовал импорт сообщений django, но у меня ничего не вышло

вот мой код views.py

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.http import HttpResponse
from django.shortcuts import render, redirect
from .models import cooking
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth import login, logout, authenticate
from django.contrib import messages

# Create your views here.



def homepage(request):
    return render(request=request,template_name='main/home.html',context={"cooking": cooking.objects.all})

def register(request):
    if request.method == "POST":
        form = UserCreationForm(request.POST)
        if form.is_valid():
            user = form.save()
            username = form.cleaned_data.get('username')
            messages.succees(request, f"new account created: {username}")#error on this line

            login(request, user)
            return redirect("main:homepage")
        else:
            for msg in form.error_messages:
                messages.error(request, form.error_messages[msg])
    form = UserCreationForm
    return render(request,"main/register.html",context={"form":form })


1 Ответ

1 голос
/ 01 декабря 2019

f-strings были введены в Python 3.6, возможно, вы используете предыдущую версию.

Если вы действительно хотите использовать их, вы можете установить future-fstrings, но я 'Я не уверен, что это стоит.

Возможно, лучшим решением было бы либо обновить Python до версии более высокой или равной 3,6, либо использовать один из альтернативных вариантов форматирования:

  • "new account created: {}".format(username)
  • "new account created: %s" % username
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...