django flask的一些小点

1.django中路由有path和re_path两种
通过re_path传参也有命名匹配和分组命名匹配两种
分组匹配 re_path(r"^index/(\d+) " , v i e w s . i n d e x ) r e p a t h ( r " d a t e / ( ? P < y e a r > 0 9 [ 4 ] ) / ( ? P < m o n t h > 0 9 [ 2 ] ) ",views.index) 分组命名匹配 re_path(r"^date/(?P<year>{0-9}[4])/(?P<month>{0-9}[2]) ",views.index)
注意二者不能混用(本人吃过亏,血和泪的教训!!!)

2.静态文件
在settings里设置 STATIC_URL=’/static/’ 这是搜索静态文件的路由
STATICFILES_DIRS =[os.path.join(BASE_DIR,‘static’)],这是指出静态文件的位置
注意收集静态文件时
STATIC_ROOT = os.path.join(BASE_DIR,‘static’)
将这条语句放到settings里时要把关于静态文件和图片的配置都要暂时注释掉
执行 python.manage.py collectedstatic 收集结束后这收集静态文件语句注释,之前的解开
反正就是收集静态文件语句不能和其他有关图片或者静态文件的语句共存

3.视图类
django与flask的视图类大同小异 就是继承的类有些差异
django 的视图类继承 VIEW 且在路由指出时需要加一个as_view()方法
falsk视图类 首先编写flask视图类 需要导入
from flask_restful import Api,Restful
还需要指出路由
api.add_resouce(类名,“urls”) 注意这里的 是可以有多个的意思

4.外键关系
django一对多
subject = models.ForeignKey(to=Subject,to_filed=‘id’,on_delete=models.CASCADE)
查询时 有字段用字段 没字段用类名小写

flask一对多
subject = db.Clumn(db.Interge,db.ForeignKey('student.id'))
student = db.relationship('Student',backref="student")
查询时 用自己编写的映射关系字段名

5.表单类校验
django
data_valid=UserForm(reuqest.POST,request.FILES) 实例化一个表单对象
if data_valid.is_valid() 发起校验 如果校验成功
data=data.cleaned_data 获取数据_
接下来就可以 从data获取数据进行保存了
falsk
user_form = UserForm()
if user_form.validate_on_submit():
data=user_form.data
接下来就可以 从data获取数据进行保存了
6.聚合,分组
django的聚合分组都需要导包 从django.db.models 用啥倒啥
举个聚合的例子
User.object.all().aggregate(Max(“age”)) 从user里找年龄最大的
分组
User.object.values(“gender”).annotate(count(“id”)) 找男生有多少人 女生有多少人
F查询(针对字段查询)
User.object.filter(weight__lt = F(‘height’)) 找体重小于身高的数据
Q查询(默认是且关系)
User.objects.filter(Q(age=18)|Q(age=22)) 找年龄是18和22 的人

7.django falsk模板过滤器
django:
register = template.Library()

未完待续还会继续补充的

发布了7 篇原创文章 · 获赞 0 · 访问量 119

猜你喜欢

转载自blog.csdn.net/youzipier/article/details/104011786