安装Django
pip install django
新建工程
cd至要新建工程的目录下,执行
django-admin startproject 工程名
会自动生成一个与工程名同名的文件夹。
启动服务器
cd至项目目录,执行python manage.py runserver
服务器就启动了,默认情况下地址为127.0.0.1:8000
Ctrl+C
或Ctrl+Break
关闭。
创建管理员账户
manage.py createsuperuser
后台管理改为中文
将settings.py调整如下:
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = False
app流程
python manage.py startapp 应用名
- 添加到settings.py的INSTALLED_APPS
- 编写models.py
from django.db import models
# Create your models here.
class Provider(models.Model):
name = models.CharField(max_length=50, verbose_name="供方名称")
class Meta: #表单名称
verbose_name = "供方"
verbose_name_plural = verbose_name
def __str__(self): #默认返回名称,便于显示
return self.name
class Product(models.Model):
name = models.CharField(max_length=50, verbose_name="产品名称")
type = models.CharField(max_length=50, verbose_name="产品型号")
provider = models.ForeignKey(Provider, on_delete="CASCADE", verbose_name="供方")
class Meta:
verbose_name = "产品"
verbose_name_plural = verbose_name
def __str__(self):
return self.name
python manage.py makemigrations 应用名
python manage.py migrate 应用名
连接Mysql数据库
pip install mysqlclient
- 用Mysql客户端建立数据库
- 修改settings.py
DATABASES = {
'default': {
#'ENGINE': 'django.db.backends.sqlite3',
#'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'ENGINE': 'django.db.backends.mysql', #数据库的类型
'NAME': 'depot', #所使用的的数据库的名字
'USER': 'root', #数据库服务器的用户
'PASSWORD': 'root', #密码
'HOST': 'localhost', #主机
'PORT': '3306', #端口
}
}
常见问题
误删migration目录下的py文件
备份数据库,把所有app的migrations目录全部清空(注意保留__init__.py文件),重新运行makemigrations
以及migrate
。
参考链接:https://www.jianshu.com/p/806bce409673