url(r'username/(?P[a-zA-Z0-9_-]{5,20})/count/$',view.UsernameCountView.as_View())
get()返回的对象
filter()返回的查询集
1. axios.get('url','请求头')
.then()成功回调
.catch()失败回调
.then(function(response){
})
.then(response=>{
})
2. v-bind 绑定标签属性简写:
3. 页面加载完调用 mounted(){}
class CCP(object):
def __new__(cls,*args,**kwargs):
#判断是否有单例存在,_instance属性中存储的就是单例
if not hasattr(cls,'_instance'):
cls._instance = super(CCP,cls).__new__(cls,*args,**kwargs)
return cls._instance
.lower() 将大写字母转化为小写
sms_code = '%06d'%random.randint(0,999999)
setInterval('回调函数','时间间隔')
#初始化定时器
let num = 60;
let t =setInsterval(response=>(){
num-=1;
this.sms_message=num+'秒';
if(num==0){
this.sms_message='获取验证码';
clearInterval(t);
}},1000)
1.创建redies管道
pl= redies_con.pipline()
2.使用管道添加redies命令到队列
pl.setex(usename,10,'liming')
3. 发送数据
pl.execute()
1.创建celery_tasks包用来储存celery
2.创建config.py文件,用来贮存配置文件
```python
broker_url='redis://127.0.0.1:6379/10'
```
3.创建main.py方法用来储存主要逻辑
```python
from celery import Celery
#创建celery实例
celery_app = Celery('ershou')
#加载配置
celery_app.config_from_object('celery_tasks.config')
#注册任务
celery_app.autodiscover_tasks(["celery_tasks.sms"])
```
4.创建发送短信的包sms
5.在短信的包sms中创建tasks.py文件
```python
from celery_tasks.sms.yuntongxun.ccp_sms import CCP
from celery_tasks.main import celery_app
@celery_app.task(name='sent_sms_code')
def sent_sms_code(moble,sms_code):
ret =CCP().send_template_sms(moble, [sms_code, 5], 1)
return ret
```
5.启动程序celer
celery -A celery_tasks.main worker -l info -P eventlet -c 100
#-c开100个携程
win10不支持celery4,因此需要安装eventlet包。
6.在django代码中导入tasks的sent_sms_code方法
sent_sms_code.delay(moble,sms_code)
7. @celery_app.task(name='sent_sms_code')参数的设置
name:异步任务别名
bind:保证task对象会作为第一个参数自动传入
retry_backoff:异常自动重试的时间间隔,第n次retry_backoff*2(n-1)s
max_retries:异常自动重试的次数上线
@celery_app.task(bind=True,name='send_verify_email',retry_backoff=3)
def send_verify_email(self,to_mail,verify_url):
'''定义发邮件的任务'''
subject = '美多商城邮箱验证'
html_message = '尊敬的用户你好!
'\
'欢迎你使用超超二手
'\
'你的邮箱为:%s.请点击此连接激活你的邮箱地址:
'\
'' %(to_mail,verify_url,verify_url)
try:
send_mail(subject,'', settings.EMAIL_FROM,[to_mail],html_message=html_message)
except Exception as e:
raise self.retry(exc=e,max_retries=3)
1.使用jinja2模板封装的用户方法判断
```python
{% if user.is_authenticated %}
欢迎您:{
{ user.username }}
|
退出
{% else %}
{% endif %}
```
2.发送axjs请求获取
3.利用缓存保存到cookie中,vue读取cookie渲染用户信息
1.django中
response = redirect(reverse('contents:index'))
response.set_cookie('username', user.username, max_age=120)
return response
2.js中设置cookie
// 获取cookie
function getCookie(name) {
let r = document.cookie.match("\\b" + name + "=([^;]*)\\b");
return r ? r[1] : undefined;
}