python django

本文详细介绍了Django框架的安装与项目创建流程,深入探讨了程序目录结构、URL配置、模版引擎使用及静态文件管理。同时,涵盖了cookie操作、加密与解密方法,为读者提供全面的Django应用开发指南。
摘要由CSDN通过智能技术生成

python django

1.Django安装
pip install django
2.创建Django项目
django-admin startproject [name]
  1. 创建project

  2. 配置:

    1. 模版路径
    2. 静态文件路径
  3. **额外配置,注释掉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":"你还未登陆"})
装饰器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值