django-搭建BBS关键点总结

django-搭建BBS关键点总结,第1张

概述0826自我总结 django 搭建BBS关键点总结 一.关于开口子,直接输入url访问文件内容 自带开了个口子是static文件可以直接访问到 手动开口子 二.关于登入验证码中解决并发的问题 :将c 0826自我总结django-搭建BBS关键点总结一.关于开口子,直接输入url访问文件内容

django自带开了个口子是static文件可以直接访问到

手动开口子

urs.py

from django.vIEws.static import serveurlpatterns = [	url(r'^avatar/(?P<path>.*)',serve,kwargs={'document_root': 开口文件的路径}),]#这里的r'^avatar/(?P<path>.*),前面的路径等同于后面设置的路径,而下面正则匹配的内容为内容的拼接前面的就是完整的一个路径,这样就可以url直接访问文件夹
二.关于登入验证码中解决并发的问题

解决方法:将code存在session中

注意点:如果同时在一个浏览器中打开两个相同的网页,他的code以后的那个网站为准,这是session的特性

三.验证码的生成

https://www.cnblogs.com/pythonywy/p/11408318.html

四.登入后的重要 *** 作

可以利用的auth模块中的login

在登入成功的时候

将uesr对象存放在request中方便后续 *** 作

auth.login(request,user)

也可以在网页中完成是否登入的判断

{% if request.user.is_authenticated %}

完成注销 *** 作

auth.logout(request)

五.表单的查找
#查询当前站点下所有标签对应的文章数#查询当前站点下所有分类对应的文章数# 查询所有分类对应的文章数# 分组查询固定规则:# filter 在annotate前表示where条件# values 在annotate前表示group by# filter 在annotate后表示having条件# values 在annotate后表示取值# category_ret=models.category.objects.all().values('pk').annotate(cou=Count('article__nID')).values('Title','cou')# 查询当前站点下所有分类对应的文章数category_ret=models.category.objects.all().filter(blog=blog).annotate(cou=Count('article__nID')).values_List('Title','cou','nID')print(category_ret)# 查询当前站点下所有标签对应的文章数tag_ret=models.Tag.objects.all().filter(blog=blog).annotate(cou=Count('article__nID')).values_List('Title','nID')print(tag_ret)#查询某年某月下对应的文章数'''            from django.db.models.functions import TruncMonth            Sales.objects            .annotate(month=TruncMonth('timestamp'))  # Truncate to month and add to select List            .values('month')  # Group By month            .annotate(c=Count('ID'))  # Select the count of the grouPing            .values('month','c')  # (might be redundant,haven't tested) select month and count    '''year_ret=models.Article.objects.all().annotate(month=TruncMonth('create_time')).values('month').annotate(c=Count('nID')).values_List('month','c')

关键点:

主键可以直接缩写成pk关于annotate只要是两个 model 类通过 ForeignKey 或者 ManyToMany 关联起来,那么就可以使用 annotate 方法来统计数量。annotate(字段名称=聚会函数)annotate 前面有values时候,主要是加快的查询的速度,values中必须要有annotate的依据六.自定义文件夹存储路径

settings.py

#加这两句,以后再上传的图片,都放在media文件夹下MEDIA_URL = "/media/"MEDIA_ROOT = os.path.join(BASE_DIR,"media")# MEDIA_ROOT = os.path.join(BASE_DIR,"app01")
总结

以上是内存溢出为你收集整理的django-搭建BBS关键点总结全部内容,希望文章能够帮你解决django-搭建BBS关键点总结所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1222942.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存