1、django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.Did you install mysqlclient?
解决方法:
(1)、首先通过命令pip install pymysql安装pymysql模块
(2)、在Django项目的__init__()文件中添加如下代码:
import pymysql
pymysql.install_as_MySQLdb()
2、django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
解决方法:
根据提示路径打开base.py文件,在35、36行前加#注释掉
3、django.db.utils.OperationalError: (2003, “Can’t connect to MySQL server on ‘localhost’ ([WinError 10061] 由于目标计算机 积极拒绝,无法连接。)”)
解决方法:
4、RuntimeError: You called this URL via POST, but the URL doesn’t end in a slash and you have APPEND_SLASH set. Django can’t redirect to the slash URL while maintaining POST data. Change your form to point to 127.0.0.1:8000/post.html/ (note the trailing slash), or set APPEND_SLASH=False in your Django settings.
解决方法:
(1)确包post.html中form表单的action以 / 结尾
<form action="/search-post/" method="post">
(2)修改settings.py,添加以下内容
APPEND_SLASH=False
5、表单下添加的{ % csrf_token % }没起作用
解决方法:
在返回页面的views的方法上添加@csrf.csrf_exempt
from django.shortcuts import render
from django.views.decorators import csrf
#接收post请求数据
@csrf.csrf_exempt
def search_post(request):
ctx = {}
if request.method == "POST":
ctx['rlt'] = request.POST['q']
return render(request, "post.html", ctx)