view视图函数的request对象获取信息。
request. path 请求页面的路径,不包含域名
request. get_full_path 获取带参数的路径
request. method 页面的请求方式
request. GET GET 请求方式的数据
request. POST POST 请求方式的数据
request. COOKIES 获取 cookie
request. session 获取 session
request. FILES 上传图片(请求页面有 enctype= "multipart/form-data" 属性时 FILES 才有数据。
?a= 10 的键和值时怎么产生的,键是开发人员在编写代码时确定下来的,值时根据数据生成或者用户填写的,总之是不确定的。
request. GET. get( ) 取值时如果一键多值情况,get 是覆盖的方式获取的。getlist()可以获取多值。
解析django-simplejwt的网址
网址:https://jwt.io/
在views中获取models定义字段的verbose_name
class AddUser ( models. Model) :
name = models. CharField( max_length= 28 , verbose_name= '姓名' , default= '' )
age = models. IntegerField( max_length= 6 , verbose_name= '年龄' , default= 18 )
tel = models. BigIntegerField( max_length= 11 , verbose_name= '手机号' , null= True , blank= True )
def adduser ( requests) :
name= AddUser. _meta. get_field( 'name' ) . verbose_name
adduse_verbose_name_list = [ i. verbose_name for i in AddUser. _meta. fields]
return render( requests, 'adduser.html' , data_list)
把apps文件夹添加成python可识别的文件夹
import sys
sys. path. insert( 0 , os. path. join( BASE_DIR, 'apps' )
创建项目
django- admin startproject lysdGo
python manage. py startapp login
dango- admin help
python manage. py runserver 0.0 .0 .0 : 80
python manage. py migrate
python - m django - - version
python manage. py createsuperuser
from django. contrib import admin
from . models import Customer
admin. site. register( Customer)
python manage. py shell
python manage. py dumpdata init. json
python manage. py loaddata init. json
同步数据库
1. 先在某个app的models文件中定义类
2. 控制台执行 python manage. py makemigrations app名
3. 控制台执行 python manage. py migrate
python manage. py makemigrations app名
python manage. py migrate
配置setting文件
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware' ,
'django.contrib.sessions.middleware.SessionMiddleware' ,
'django.middleware.common.CommonMiddleware' ,
'django.contrib.auth.middleware.AuthenticationMiddleware' ,
'django.contrib.messages.middleware.MessageMiddleware' ,
'django.middleware.clickjacking.XFrameOptionsMiddleware' ,
'django.middleware.locale.LocaleMiddleware' ,
]
INSTALLED_APPS = [
'django.contrib.admin' ,
'django.contrib.auth' ,
'django.contrib.contenttypes' ,
'django.contrib.sessions' ,
'django.contrib.messages' ,
'django.contrib.staticfiles' ,
'common.apps.CommonConfig'
]
'default' : {
'ENGINE' : 'django.db.backends.mysql' ,
'OPTIONS' : {
'read_default_file' : os. path. join( os. path. dirname( __file__) , 'my_config/my_config.cnf' ) ,
} ,
}
'default' : {
'ENGINE' : 'django.db.backends.mysql' ,
'NAME' : 'lys_django' ,
'USER' : 'root' ,
'PASSWORD' : '123456'
}
setting模板
DATABASES = {
'default' : {
'ENGINE' : DATABASE_ENGINE,
'NAME' : DATABASE_NAME,
'USER' : DATABASE_USER,
'PASSWORD' : DATABASE_PASSWORD,
'HOST' : DATABASE_HOST,
'PORT' : DATABASE_PORT,
'CONN_MAX_AGE' : DATABASE_CONN_MAX_AGE,
'OPTIONS' : {
'charset' : DATABASE_CHARSET,
'init_command' : 'SET default_storage_engine=INNODB' ,
}
}
}
CACHES = {
'default' : {
'BACKEND' : 'django_redis.cache.RedisCache' ,
'LOCATION' : [
'redis://localhost:6379/0' ,
] ,
'KEY_PREFIX' : 'lybbn' ,
'OPTIONS' : {
'CLIENT_CLASS' : 'django_redis.client.DefaultClient' ,
'CONNECTION_POOL_KWARGS' : {
'max_connections' : 512 ,
} ,
'PASSWORD' : '123456' ,
}
} ,
'session' : {
'BACKEND' : 'django_redis.cache.RedisCache' ,
'LOCATION' : [
'redis://localhost:6379/1' ,
] ,
'OPTIONS' : {
'CLIENT_CLASS' : 'django_redis.client.DefaultClient' ,
'PASSWORD' : '123456' ,
}
} ,
}
REDIS_TIMEOUT = 7 * 24 * 60 * 60
CUBES_REDIS_TIMEOUT = 60 * 60
NEVER_REDIS_TIMEOUT = 365 * 24 * 60 * 60
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
SESSION_CACHE_ALIAS = "session"
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/shanghai'
USE_TZ = False
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os. path. join( os. path. join( BASE_DIR, 'static' ) ) ,
)
STATIC_ROOT= os. path. join( BASE_DIR, 'static' )
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
CAPTCHA_OUTPUT_FORMAT = u'%(text_field)s %(hidden_field)s %(image)s'
CAPTCHA_NOISE_FUNCTIONS = ( 'captcha.helpers.noise_null' ,
)
CAPTCHA_IMAGE_SIZE = ( 100 , 25 )
CAPTCHA_BACKGROUND_COLOR = '#ffffff'
CAPTCHA_CHALLENGE_FUNCT = 'captcha.helpers.random_char_challenge'
CAPTCHA_LENGTH = 4
CAPTCHA_TIMEOUT = 1