Python 我试图通过django发送邮件,但失败了。我没有得到任何错误。但是页面重定向到具有不同URL的同一页面

Python 我试图通过django发送邮件,但失败了。我没有得到任何错误。但是页面重定向到具有不同URL的同一页面,python,django,Python,Django,当我通过django发送邮件时,我没有收到任何错误。但网页重定向到同一网页时,网页中的URL不同,该URL也反映在控制台中。最后一个问题是“邮件不发送” 我尝试过允许使用“不太安全的应用程序” 下面是settings.py中的代码 下面是views.py中的代码 from django.core.mail import send_mail from blog.forms import Email_Form def mail_view(request,id): post=get_object_or

当我通过django发送邮件时,我没有收到任何错误。但网页重定向到同一网页时,网页中的URL不同,该URL也反映在控制台中。最后一个问题是“邮件不发送”

我尝试过允许使用“不太安全的应用程序”

下面是settings.py中的代码

下面是views.py中的代码

from django.core.mail import send_mail
from blog.forms import Email_Form
def mail_view(request,id):
post=get_object_or_404(Post,id=id,status='published')
sent=False
if request.method=='GET':
    form=Email_Form()
else:
    form=Email_Form(request.POST)
    if form.is_valid():
        cd=form.cleaned_data()
        send_mail('sub','message','jfsdhfsdjk@gmail.com',[cd['to']])
        sent=True
return render(request,'blog/sharebymail.html',{'post':post,'form':form,'sent':sent})
下面是html文件中的代码

{%if sent%}
    <h1>Post Sent Successfully</h1>
    <h2>Post with title {{post.title}} information shared by email</h2>
{%else%}
    <h1>Share Post "{{post.title}}" By Mail</h1>
    <form>
        {{form.as_p}}
        {%csrf_token%}
        <input type="submit" class="btn btn-primary btn-lg", value="Send Mail">
    </form>
{%endif%}
{%if sent%}
已成功发送邮件
通过电子邮件共享标题{Post.title}信息的帖子
{%else%}
通过邮件共享邮件“{Post.title}”
{{form.as_p}}
{%csrf_令牌%}
{%endif%}
以下是页面重定向的url

也设置

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

在settings.py中,您没有指定表单的方法,因此默认情况下是
get
。我假设您的url是
http://127.0.0.1:8000/4/share/
,因此当您提交表单时,输入将成为get参数,并显示在url中。您需要将方法指定为
post

{%if sent %}
    <h1>Post Sent Successfully</h1>
    <h2>Post with title {{post.title}} information shared by email</h2>
{% else %}
    <h1>Share Post "{{post.title}}" By Mail</h1>
    
    <!-- specify method below -->
    <form method="post">
        {{form.as_p}}
        {%csrf_token%}
        <input type="submit" class="btn btn-primary btn-lg", value="Send Mail">
    </form>
{% endif %}
{%if sent%}
已成功发送邮件
通过电子邮件共享标题{Post.title}信息的帖子
{%else%}
通过邮件共享邮件“{Post.title}”
{{form.as_p}}
{%csrf_令牌%}
{%endif%}

非常感谢先生的回复。现在我可以发邮件了。成功了。好的,先生,谢谢您的回复。我会准备好的。
{%if sent %}
    <h1>Post Sent Successfully</h1>
    <h2>Post with title {{post.title}} information shared by email</h2>
{% else %}
    <h1>Share Post "{{post.title}}" By Mail</h1>
    
    <!-- specify method below -->
    <form method="post">
        {{form.as_p}}
        {%csrf_token%}
        <input type="submit" class="btn btn-primary btn-lg", value="Send Mail">
    </form>
{% endif %}