python - 使用 f 字符串的 django 消息语法错误
问题描述
我试图在我的网站用户注册时向他们发送消息我使用了 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 })
解决方案
f-strings
已在 Python 3.6 中引入,您可能使用的是以前的版本。
如果你真的想使用它们,你可以安装future-fstrings
,但我不确定它是否值得。
一个可能更好的解决方案是将 Python 升级到更高或等于 3.6 的版本,或者使用其他格式选项之一:
"new account created: {}".format(username)
"new account created: %s" % username
推荐阅读
- java - 如何在入站通道适配器中创建自定义轮询器?
- c# - 仅在 C# .NET Core 2.1 中更新分离实体的新字段
- javascript - 防止 prop 覆盖数据
- java - 从 JSON 的文件中删除一个 JSON 数据
- mysql - 将行值添加到总计 if 条件(不知道如何问这个)
- php - Woocommerce,PHP 7.2 函数 create_function() 已弃用
- angular - TurboTable延迟加载具有初始值的默认过滤器?
- css - 如何在引导程序中更改容器的固定宽度?
- php - 如何使用正则表达式自动完成随机 URL?
- python - 在 TensorFlow 中,如何断言列表的值在某个集合中?