AJAX无法在Django生产模式下工作吗?

时间:2019-10-07 13:33:53

标签: javascript django ajax

我在heroku上部署了django应用。在本节的其中一个中,我要求对方提供反馈和电子邮件。如果电子邮件是有效的电子邮件,那么我只回复谢谢。从获取表格的值到返回谢谢,这一切都使用AJAX完成。它在开发模式下工作正常,但在保护模式下工作不正常。

这是我的“ index.js”

function valid(email)
{
    var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
    return emailReg.test(email); 
}

$(document).on('submit','.Myform',function(e){
    e.preventDefault();

    $.ajax({
        type:'POST',
        url:'',
        data:{
            message:$('#id_message').val(),
            email:$('#id_email').val(),
            csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val(),
        },
        success: function() {
            let validate = valid($('#id_email').val());
            if(validate){
                $('.Myform').fadeOut();
                $('.thank_you').fadeIn();
            }
            else{
                $('.Myform').show();
                alert('Please enter valid email address.');
            }
        }
    });
});

我的应用程序中只有一个视图。因此,将AJAX数据传输到该视图。

这是我的views.py

def index(request):

    if request.method == 'POST':
        form = FeedbackForm(request.POST)
        if form.is_valid():
            message = request.POST['message']
            email = request.POST['email']
            print(message)
            print(email)
            subject = "{} by {}".format(message,email)
            recipients = ['xyz@mail.com']
            sender = 'my@mail.com'
            send_mail(subject, message, sender ,recipients,fail_silently=False)
            return HttpResponse('')
    else:
        form = ThoughtForm()

    return render(request,'my_webapp/index.html',{'form':form})

我的urls.py文件-

urlpatterns = [
    path('',views.index,name='index')
]

在开发模式下-一切正常。

在生产模式下,当我按下“提交”按钮时,它会向我显示正在加载的gif,但随后消失,没有感谢消息,没有错误的电子邮件警报,没有任何反应,并且表格消失了

问题似乎与网址有关。有人可以帮忙吗。

这是我在heroku日志中遇到的回溯错误-

Internal Server Error: /
2019-10-07T18:30:33.977239+00:00 app[web.1]: Traceback (most recent call last):
2019-10-07T18:30:33.977241+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
2019-10-07T18:30:33.977243+00:00 app[web.1]: response = get_response(request)
2019-10-07T18:30:33.977246+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/handlers/base.py", line 115, in _get_response
2019-10-07T18:30:33.977248+00:00 app[web.1]: response = self.process_exception_by_middleware(e, request)
2019-10-07T18:30:33.97725+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/handlers/base.py", line 113, in _get_response
2019-10-07T18:30:33.977253+00:00 app[web.1]: response = wrapped_callback(request, *callback_args, **callback_kwargs)
2019-10-07T18:30:33.977255+00:00 app[web.1]: File "/app/my_webapp/views.py", line 27, in index
2019-10-07T18:30:33.977257+00:00 app[web.1]: send_mail(subject, thoughts, sender ,recipients,fail_silently=False)
2019-10-07T18:30:33.977259+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/mail/__init__.py", line 60, in send_mail
2019-10-07T18:30:33.977261+00:00 app[web.1]: return mail.send()
2019-10-07T18:30:33.977263+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/mail/message.py", line 291, in send
2019-10-07T18:30:33.977265+00:00 app[web.1]: return self.get_connection(fail_silently).send_messages([self])
2019-10-07T18:30:33.977267+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/mail/backends/smtp.py", line 103, in send_messages
2019-10-07T18:30:33.977269+00:00 app[web.1]: new_conn_created = self.open()
2019-10-07T18:30:33.977271+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/mail/backends/smtp.py", line 70, in open
2019-10-07T18:30:33.977273+00:00 app[web.1]: self.connection.login(self.username, self.password)
2019-10-07T18:30:33.977275+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/smtplib.py", line 730, in login
2019-10-07T18:30:33.977277+00:00 app[web.1]: raise last_exception
2019-10-07T18:30:33.977279+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/smtplib.py", line 721, in login
2019-10-07T18:30:33.977281+00:00 app[web.1]: initial_response_ok=initial_response_ok)
2019-10-07T18:30:33.977283+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/smtplib.py", line 642, in auth
2019-10-07T18:30:33.977285+00:00 app[web.1]: raise SMTPAuthenticationError(code, resp)
2019-10-07T18:30:33.977446+00:00 app[web.1]: smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepted. Learn more at\n5.7.8  https://support.google.com/mail/?p=BadCredentials q2sm7667020qkc.68 - gsmtp')
2019-10-07T18:30:33.978833+00:00 app[web.1]: 10.51.220.16 - - [07/Oct/2019:18:30:33 +0000] "POST / HTTP/1.1" 500 13750 "https://application.herokuapp.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0"
2019-10-07T18:30:33.980844+00:00 heroku[router]: at=info method=POST path="/" host=application.herokuapp.com request_id=9bfdde45-dc5c-4fc6-bcee-4cdd3dd5aa72 fwd="103.212.146.48" dyno=web.1 connect=7ms service=191ms status=500 bytes=13976 protocol=https

0 个答案:

没有答案