Python Django開發 異常及其解決辦法

1.ValueError: The view *** didn’t return an HttpResponse object. It returned None instead

該錯誤表明views.py中沒有return一個返回值給前端。
解決辦法:檢查 return HttpResponse()是否錯位。

2.NoReverseMatch: Reverse for ‘xxx’ not found . ‘xxx’ is not a valid view function or pattern

在templates裏html文件模板用{% url ‘xxx’%}解析時沒有跟app_name,具體如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>pagedetail</title>
</head>
<body>
    <div>
        <a href="{% url 'index' %}"> home </a>
    </div>
</body>
</html>

解決辦法:
更改HTML文件中url標籤部分:
<a href="{% url 'test1_app:index' %}"> home </a>

3.python manage.py migrate,提示No migrations to apply

造成多次應用migrations失敗的原因是,當前model是修改過的,原來的migrations已經被刪除,但是,重新生成的migrations使用遞增整數記名,所以,在django_migrations表中0001,0002等前面幾個數字的文件都已被記錄,在Django看來,被記錄了就相當於已應用,所以,會出現剛開始的No migrations to apply。
解決方案:
python manage.py dbshell 進到數據庫中;
執行delete from django_migrations where app='your_appname';
python manage.py makemigrations(若migrations文件未刪除,可不執行這一步);
python manage.py migrate即可成功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章