在写样式时实在不可以就用style
js的三元表达式
条件 ? 真值 : 假值
1>2?'yes':'no' => no
2>1?'yes':'no' => yes
python的三元表达式
真值 if 条件 else 假值
在django文件中使用呢redis需要的配置
# django-redis配置信息
# reids数据库默认是16个(redis.conf) 取值范围 0-15
# 0 是我默认的数据库
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/2",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"CONNECTION_POOL_KWARGS": {"max_connections": 100},
# "PASSWORD": "密码",
'CONNECTION_POOL_KWARGS': {'decode_responses': True}, # 添加这一行,数据正常返回,否则将以bytes返回
}
}
}
json 模块是用来转换成str类型
json.dumps(goods) 这样就把列表转换成字符串了
json.loads(name) 把字符串类型转成成原来的类型
在django中使用celery
1 新建一个python包(就是有init的)
2创建一个celery
把这些复制进去
from __future__ import absolute_import, unicode_literals
import os
from celery import Celery
# set the default Django settings module for the 'celery' program.
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'meiduo.settings')
app = Celery('proj')
# Using a string here means the worker doesn't have to serialize
# the configuration object to child processes.
# - namespace='CELERY' means all celery-related configuration keys
# should have a `CELERY_` prefix.
app.config_from_object('celery_tasks.config', namespace='CELERY')
# Load task modules from all registered Django app configs.
app.autodiscover_tasks()
@app.task(bind=True)
def debug_task(self):
print('Request: {0!r}'.format(self.request))
3 在manage.py 中复制os那一行把那个替换掉
4 把app的那一行setting这个去掉换成在此文件夹下的任务处理
服务端启动命令
celery -A untitled1 worker --pool=solo -l info
客户端启动命令
python manage.py shell
在进入后需要把这个文件下的celery导入再去进行调用方法
需要调用的时候在这个方法后面加上.dalay()
抽象类
class Meta:
abstract = True 抽象类
这是用来写表的时候每个表都有共同的东西的时候所要写的东西
onclick="sub()"
这是点击事件
var name == $("#name").val();
声明一个变量
$.post("/houtai/cate/". {'name': name}, function(){})
用这样来写方法 地址 需要传过去的变量
!在html中是非的意思
在需要继承的中间写
{% block content %}
{% endblock %}
在需要写的东西
在要写的东西里面写
{% extends 'common/public.html' %}
{% block content %}
在这里面写需要写的
{% endblock %}
在开发当中不能使用v-html
如果的post, put, delete 请求data
如果的get 请求 parms
,then(res=>{},
err=>{})
res是成功之后 err是失败之后
在方法的括号里面是一个对象(字典类型)
多对多
在表的里面设置字段
user = models.ManyToManyField(to='User')
这是多对多键的字段类型
然后会在数据库中出现一个新的表
is_valid()
这是用来判断约束条件的
save()
返回的值是一个对象 如果是none就是添加失败 是对象就是成功
write_only=True 这是在selalzer中只写的约束
read_only=True 这是只读的约束
拦截器
router.beforeEach((to, from , next)=>{
if(to.path == '/login') return next()
if(to.path !== '/login'){
let uid = sessionStorage.getItem('uid')