文章目录
命令
自动构建django项目
django-admin startproject xxxprojectname
自动构建app文件夹
python manage.py startapp xxxappname
运行django项目
python manage.py runsever 0.0.0.0:8000
python manage.py runsever 127.0.0.1:8000
生成数据库
生成数据迁移文件
python manage.py makemigrations
迁移数据
python manage.py migrate
创建管理员
python manage.py createsuperuser
settings.py文件配置
models.py
Meta元选项
更改数据库表名
class AREA(models.Model):
# 定义元选项
class Meta:
db_table = 'AREA' # 设置表名为 AREA
Filed的参数
null与blank
blank:
这玩意貌似只和admin那个django自带的后台管理页面相关,控制是否必填。
blank = true 表示选填,blank = false 表示必填。
null:
这个是和数据库相关的,控制属性是否可以为null。
null = true 表示可以为null,null = false 表示不能为空。
request包含哪些属性
request.method
请求方式:GET或POST
request.GET
request.POST
request.path
请求url:http://127.0.0.1:8000/index.html/23?a=1
request.path
: index.html/23
request.get_full_path
: index.html/23?a=1
COOKIES
包含所有cookies的字典对象,keys和values都是字符串。
FILES
字典对象。key是上传文件标签的name属性值,value是字典对象。
包含三个key:
filename:上传文件名,字符串表示;
content_type:上传文件內容类型;
content:上传文件的原始内容。
user
是一个 django.contrib.auth.models.User
对象,表示当前登录的用户。
如果当前访问的用户没有登录,user将被初始化为 django.contrib.auth.models.AnonymousUser
实例。
可以通过user的 is_authenticated()
来判断用户是否登陆。
只用Django激活AuthenticationMiddleware时该属性才可用。
session
唯一可读写的属性(写?写到哪里去?),代表当前会话的字典对象;
只有Django中激活对session支持时,该属性才可用。
疑问
API指的是什么?是url吗?还是view中的函数?这两个貌似是一个东西
应该把各种方法GET、POST、HEAD封装成不同的API,还是同一API中有多个方法?
看djangorestframework中有IsAuthorizationOrReadOnly在同一个API中判断不同的方法有不同的权限。