python django
python django
1.Django安装
pip install django
2.创建Django项目
django-admin startproject [name]
-
创建project
-
配置:
- 模版路径
- 静态文件路径
-
**额外配置,注释掉setting->TEMPLATES->MIDDLEWARE **
MIDDLEWARE = [
#'django.middleware.csrf.CsrfViewMiddleware',
]
3.程序目录
**-setting.py :**Django配置文件
**-url.py:**路由系统:url->函数
**-wsgi.py:**用于定义Django用socket,uwsgi
**manage.py:**对当前Django程序所有操作可以基于 python manage.py runserver
urls文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s4NElhQu-1590474152042)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200426093715663.png)]
**HttpResponse:**只返回字符串
**render:**返回文件
#### 模版目录地址设置:setting->TEMPLATES->DIRS
#BASE_DIR:当前地址
#'templates':模版目录地址
'DIRS': [os.path.join(BASE_DIR,'templates')],
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR,'templates')], #模版路径
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
静态文件配置:setting->TEMPLATES->STATIC_URL
STATIC_URL = '/static/' #后缀
STATICFILES_DIRS=(
os.path.join(BASE_DIR,"static"), #文件路径
)
URL对应关系
/login/ login
def login(request):
request.method
request.POST #请求体
request.GET #请求头冲的url
return HttpResponse(..)
return render(request,'login.html',{..})
return redirect('要跳转的网址')
模版引擎中的特殊标记
login.html
{{name}}
def login(request):
return render(request,'login.html',{'name':'..'})
在请求时写入cookie:
#set_cokie参数
#key:键
#value:值
#max_age:超时时间10秒
#expires:具体的超时日期
#path:限制cookie可访问的网页
#domain:域名限制
#secure=False:ssh(https)登陆相关
#httponly=False:写入到浏览器上,个人没权限操作,即js等,只能在发http请求有用
obj=redirect("/classes/")
obj.set_cookie("ticket","asasdfasdf",max_age=10)
#expires设置超时时间
#datetime:用来获取当前时间
#timedelta:用来操作时间加减
#timedelta:可选参数:days=0,seconds=0,microseconds=0,milliseconds=0,minutes=0,hours=0,weeks=0
import datetime
from datetime import timedelta #操作时间加减
ct=datetime.datetime.utcnow() #当前日期
v=ct+timedelta(seconds=10)
obj.set_cookie("ticket","asasdfasdf",expires=v)
cookie加密
#salt
obj.set_signed_cookie("ticket","123123",max_age=10,salt="jjjj") #加密
cookie解密
ticket=request.get_signed_cookie("ticket",salt="jjjj")
获取请求的cookie
ticket=request.COOKIES.get("ticket")
if not ticket:
return render(request,"login.html",{"msg":"你还未登陆"})