如何使用 django 发送非英文单词(中文)电子邮件
如果我使用中文单词主题:
subject = u'邮件标题'
它将显示错误:
UnicodeDecodeError at /account/login_view/
'utf8' codec can't decode bytes in position 0-1: invalid data
我该怎么办,
谢谢
更新
def register_view(request):
if request.method == 'POST':
form = SignupForm(request.POST)
if form.is_valid():
# Process the data in form.cleaned_data
# ...
username = form.cleaned_data['username']
password = form.cleaned_data['password']
email = form.cleaned_data['email']
user = User.objects.create_user(username, email, password)
send_html_mail(subject, html_content, [email])
if user is not None:
user.save()
#return HttpResponse(simplejson.dumps({'msg':'ok'}))
return HttpResponseRedirect("/")
else:
return HttpResponseRedirect("/account/register_view")
else:
form = SignupForm() # An unbound form
return render_to_response('accounts/register_view.html',{'form': form,})
def login_view(request):
if request.method == 'POST':
form = LoginForm(request.POST)
if form.is_valid():
username = form.cleaned_data['username']
password = form.cleaned_data['password']
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
return HttpResponseRedirect("/")
else:
return HttpResponse('user is not active')
else:
#return HttpResponseRedirect("/account/login_submit")
return HttpResponse('No this username . and <a href="/">return to homepage</a>')
else:
form = LoginForm() # An unbound form
return render_to_response('accounts/login_view.html',{'form': form,})
if i use a chinese word subject :
subject = u'邮件标题'
it will be show error :
UnicodeDecodeError at /account/login_view/
'utf8' codec can't decode bytes in position 0-1: invalid data
what can i do about it ,
thanks
updated
def register_view(request):
if request.method == 'POST':
form = SignupForm(request.POST)
if form.is_valid():
# Process the data in form.cleaned_data
# ...
username = form.cleaned_data['username']
password = form.cleaned_data['password']
email = form.cleaned_data['email']
user = User.objects.create_user(username, email, password)
send_html_mail(subject, html_content, [email])
if user is not None:
user.save()
#return HttpResponse(simplejson.dumps({'msg':'ok'}))
return HttpResponseRedirect("/")
else:
return HttpResponseRedirect("/account/register_view")
else:
form = SignupForm() # An unbound form
return render_to_response('accounts/register_view.html',{'form': form,})
def login_view(request):
if request.method == 'POST':
form = LoginForm(request.POST)
if form.is_valid():
username = form.cleaned_data['username']
password = form.cleaned_data['password']
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
return HttpResponseRedirect("/")
else:
return HttpResponse('user is not active')
else:
#return HttpResponseRedirect("/account/login_submit")
return HttpResponse('No this username . and <a href="/">return to homepage</a>')
else:
form = LoginForm() # An unbound form
return render_to_response('accounts/login_view.html',{'form': form,})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你如何发送主题。您应该在发送之前将其编码为 utf-8。
或
然后将其发送到您的视图。
How are you sending the subject. You should encode it to utf-8 before sending.
or
And then send it to your view.
现在可以了:
我使用 程序员记事本 2 来
编码
py
和html
文件,其中包含中文单词。it is ok now :
i use Programmer’s Notepad 2 to
Encoding
thepy
andhtml
file which has chinese word .