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
即可成功。