Django命令

setting相关

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 设置mysql数据库:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 数据库引擎
'NAME': 'for_django', # 你要存储数据的库名,事先要创建之
'USER': 'root', # 数据库用户名
'PASSWORD': 'root', # 密码
'HOST': 'localhost', # 主机
'PORT': '3306', # 数据库使用的端口
}
}
# 设置中文
LANGUAGE_CODE = 'zh-hans'

# 设置时区
TIME_ZONE = 'Asia/Shanghai'

# 允许所有hosts
ALLOWED_HOSTS = ["*"]

路由相关

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# appname/appname/urls.py

from django.urls import path, include

urlpatterns = [
path('projectname/', include('projectname.urls')),
...
]

# appname/projectname/urls.py

from django.urls import path
from . import views

urlpatterns = [
path('', views.index, name='index'),
]

model相关

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
published_date = models.DateTimeField('date published')
class Meta():
db_table = 'forksir_question' # 定义表名
verbose_name_plural = '1.问题' # 定义管理界面表标题
def __str__(self):
return self.question_text # 设置默认输出的表字段

Field和字段:

AutoField: 一个根据实际ID自动增长的IntegerField,通常不指定;如果不指定,一个主键字段将自动添加到模型中
BooleanField: true/false 字段,此字段的默认表单控制是CheckboxInput
NullBooleanField: 支持null、true、false三种值
CharField: (max_length=字符长度): 字符串,默认的表单样式是 TextInput
TextField: 大文本字段,一般超过4000使用,默认的表单控件是Textarea
IntegerField: 整数
DecimalField: (max_digits=None, decimal_places=None) 使用python的Decimal实例表示的十进制浮点数;DecimalField.max_digits=位数总数,DecimalField.decimal_places=小数点后的数字位数
FloatField: 用Python的float实例来表示的浮点数
DateField[auto_now=False, auto_now_add=False]): 使用Python的datetime.date实例表示的日期
;参数DateField.auto_now:每次保存对象时,自动设置该字段为当前时间,用于"最后一次修改"的时间戳,它总是使用当前日期,默认为false;参数DateField.auto_now_add:当对象第一次被创建时自动设置当前时间,用于创建的时间戳,它总是使用当前日期,默认为false;该字段默认对应的表单控件是一个TextInput. 在管理员站点添加了一个JavaScript写的日历控件,和一个“Today"的快捷按钮,包含了一个额外的invalid_date错误消息键;auto_now_add, auto_now, and default 这些设置是相互排斥的,他们之间的任何组合将会发生错误的结果
TimeField: 使用Python的datetime.time实例表示的时间,参数同DateField
DateTimeField: 使用Python的datetime.datetime实例表示的日期和时间,参数同DateField
FileField: 一个上传文件的字段
ImageField: 继承了FileField的所有属性和方法,但对上传的对象进行校验,确保它是个有效的image


通过字段选项,可以实现对字段的约束;在字段对象时通过关键字参数指定。

null: 如果为True,Django 将空值以NULL 存储到数据库中,默认值是 False
blank: 如果为True,则该字段允许为空白,默认值是 False;对比:null是数据库范畴的概念,blank是表单验证证范畴的
db_column: 字段的名称,如果未指定,则使用属性的名称
db_index: 若值为 True, 则在表中会为此字段创建索引
default: 默认值
primary_key: 若为 True 则该字段会成为模型的主键字段
unique: 如果为 True, 这个字段在表中必须有唯一值;唯一索引
auto_now: 创建时生成创建时间
auto_now_add: 更新时自动更新当前时间
choices: admin: 默认元组列表,user_type=[(1, "普通用户"), (2, "VIP用户"), (3, "超级用户")];modesl.IntegerField(choices=user_type);在admin中会自动显示这几个分类,但是对表无影响,可以是任意整数
verbose_name: admin: 别名,支持中文
editable: admin: 是否可以被编辑
error_message: admin: 自定义错误信息
help_text: admin: 帮助信息
赞 赏
微信扫一扫