記一次錯誤 POST http://127.0.0.1:8000/auth/signup/ 500 (Internal Server Error)


  

錯誤環境:

  1,ajax 發送 post 請求調用 views 的視圖

xfzajax.post({
            'url': '/xfzauth/signup/',
            'data': {
                'telephone': telephone,
                'username': username,
                'img_captcha': imgCaptcha,
                'password1': password1,
                'password2': password2
            },
            'success': function(result) {
               ......
            }
        })

 

 

  2,視圖中處理 ajax 發送過來的請求

# 注冊
@require_POST
def signup_view(request):
    form = SinupForm(request.POST)
    if form.is_valid():
        # 表單驗證成功
        telephone = form.cleaned_data.get('telephone')
        username = form.cleaned_data.get('username')
        password = form.cleaned_data.get('password1')
        user = User.objects.create_user(username=username, password=password, telephone=telephone)
        login(request, user)
        return resful.ok(message='注冊成功!')
    else:
        # 表單驗證失敗
        errors = form.get_errors()
        return resful.params_error(message='表單驗證失敗!')

 

  3,錯誤信息 

    - 瀏覽器 console:jquery-3.3.1.min.js:2 POST http://127.0.0.1:8000/xfzauth/signup/ 500 (Internal Server Error)

    - 瀏覽器 Network - XHR:發現一個 signup/ 錯誤,點開后發現 :'dict' object has no attribute 'set_cookie'

 

  4,經過各種百度總結

    views層的函數返回值的基本限制:
    1,第一個參數必須是 request
    2,必須返回 HttpResponse 類的一個實例(對象)
              3,只返回了字典類型的數據但沒有用HttpResponse包裹
              4,return語句沒有 render template 或者 render json

參考博客:https://www.cnblogs.com/AndrewYin/p/11185902.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM