django中setting配置数据库连接:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', #数据库引擎
'NAME': 'logined', #使用的数据库名
'USER': 'root', #数据库用户名
'PASSWORD': '369369',
'PORT': '3306', #端口
'POST': '127.0.0.1', #本机IP
}
}
django的models.py中配置:
from django.db import models
# Create your models here.
class User(models.Model):
gender = (
('male', "男"),
('female', "女"),
)
name = models.CharField(max_length=128, unique=True)
password = models.CharField(max_length=256)
email = models.EmailField(unique=True)
sex = models.CharField(max_length=32, choices=gender, default="男")
c_time = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.name
class Meta:
ordering = ["-c_time"]
verbose_name = "用户"
verbose_name_plural = "用户"
django的__init__.py中配置:(通过pymysql模块操作MySQL数据库)
import pymysql
pymysql.install_as_MySQLdb()
django的admin.py中配置:
from django.contrib import admin
# Register your models here.
from .models import User
admin.site.register(User)
如上为django的初学登陆和注册系统案例代码。
如正常登陆admin后台后,在用户增加时出现如下错误提示:
ProgrammingError at /admin/login/user/add/
(1146, "Table 'login.login_user' doesn't exist")
Request Method: POST
Request URL: http://127.0.0.1:8000/admin/login/user/add/
Django Version: 4.0.4
Exception Type: ProgrammingError
Exception Value:
(1146, "Table 'login.login_user' doesn't exist")
Exception Location: D:\Anaconda3\lib\site-packages\MySQLdb\connections.py, line 254, in query
Python Executable: D:\Anaconda3\python.exe
Python Version: 3.8.8
Python Path:
['D:\\演示\\newsite',
'D:\\Anaconda3\\python38.zip',
'D:\\Anaconda3\\DLLs',
'D:\\Anaconda3\\lib',
'D:\\Anaconda3',
'D:\\Anaconda3\\lib\\site-packages',
'D:\\Anaconda3\\lib\\site-packages\\locket-0.2.1-py3.8.egg',
'D:\\Anaconda3\\lib\\site-packages\\win32',
'D:\\Anaconda3\\lib\\site-packages\\win32\\lib',
'D:\\Anaconda3\\lib\\site-packages\\Pythonwin']
根据第二行代码可知,是对应的数据库没有添加成功。
在Pycharm的终端中,执行下面的命令:
python manage.py makemigrations
发现有一条未实施的迁移记录
在Pycharm的终端中,再执行下面的命令:
python manage.py migrate
最后runserver试试是不是解决问题了吧……