测试所用的django项目结构如下:
---------------------------------------------------------------------------------------------------------------------------------
定义模型(以创建好的blog应用为例):
重点操作对象1:之前创建应用(这里是blog文件夹)下面的models.py文件
重点操作对象2:django项目结构目录中的settings.py文件
重点操作对象3:pycharm中该项目命令行终端(pycharm的快捷键:alt +F12 ,pycharm打开终端自动进入相应的虚拟环境,very good)
---------------------------------------------------------------------------------------------------------------------------------
步骤1:在models.py文件里面创建模型类(这里以User类为例)
class User(models.Model):
id = models.AutoField(primary_key=True)
is_del = models.BooleanField("是否删除", default=False)
# CharField:适用于存储如用户名、电子邮件地址、短描述等较短的文本。
name = models.CharField("用户名", max_length=100)
password = models.CharField("密码", max_length=100, default="")
phone = models.CharField("电话号码", max_length=11, default="")
last_update_date = models.DateField("最后一次修改的日期", auto_now=True)
create_date = models.DateField("创建用户的日期", auto_now_add=True)
last_update_time = models.TimeField("最后一次修改的时间", auto_now=True)
create_time = models.TimeField("创建用户的时间", auto_now_add=True)
last_update_date_time = models.DateTimeField("最后一次修改的日期与时间", auto_now=True)
create_date_time = models.DateTimeField("创建用户的日期与时间", auto_now_add=True)
email = models.EmailField("邮箱", max_length=100, default="")
file_field = models.FileField("文件介绍", upload_to="files", default="")
img = models.ImageField('用户头像', blank=True)
student_id = models.IntegerField("学号", default=0, )
# TextField:适用于存储如文章内容、用户评论、大段的描述等较长的文本。
describe = models.TextField("详细信息")
def __str__(self):
return self.name
class Meta:
db_table = 'userinfo'
步骤二:注册应用,在settings.py中下图位置添加(如果之前创建应用(这里是blog)时,已经注册,请忽略此步骤:
INSTALLED_APPS = [
#以下“...”表示省略本身系统自动生成的内容
...
#下一行为时间添加的内容
'blog'
]
步骤3:打开终端:依次输入以下命令:
#命令1
python manage.py makemigrations
#命令2
python manage.py migrate
如果在输入命令1之后报错提示:Did you install mysqlclient?
请直接下载mysqlclient即可,下载命令:pip install mysqlclient
补充(附加):执行步骤3后,就已经成功创建好如上的数据库了,如要换成mysql自己安装的数据库,需要执行步骤2时顺便在settings.py文件找到DATABASES={}修改默认数据库,如下:
DATABASES = {
'default': {
#将默认default里面的代码换成以下内容
'ENGINE': 'django.db.backends.mysql',
#数据库名
'NAME': 'blog',
#MySQL的用户名
'USER': 'root',
#对应的用户密码
'PASSWORD': '123456',
#以下一般不变
'HOST': '127.0.0.1',
'PORT': '3306',
#以下是之前的默认代码,已注释
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': BASE_DIR / 'db.sqlite3',
},
}
标签:models,auto,py,Django,default,mysql,PyCharm,now,True
From: https://blog.csdn.net/Dsx20224673/article/details/143418995