美文网首页
Django-搭建BBS关键点总结

Django-搭建BBS关键点总结

作者: 25岁学Python | 来源:发表于2020-01-14 16:11 被阅读0次

一.关于开口子,直接输入url访问文件内容

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

手动开口子

urs.py

from django.views.static import serve

urlpatterns = [
    url(r'^avatar/(?P<path>.*)', serve, kwargs={'document_root': 开口文件的路径}),
]
#这里的r'^avatar/(?P<path>.*),前面的路径等同于后面设置的路径,而下面正则匹配的内容为内容的拼接前面的就是完整的一个路径,这样就可以url直接访问文件夹

二.关于登入验证码中解决并发的问题

解决方法:将code存在session中

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


推荐Python大牛在线分享技术 扣qun:855408893

领域:web开发,爬虫,数据分析,数据挖掘,人工智能

零基础到项目实战,7天学习上手做项目

三.验证码的生成

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','cou','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关键点总结

    一.关于开口子,直接输入url访问文件内容 django自带开了个口子是static文件可以直接访问到 手动开口子...

  • Django-博客搭建

    本人未专门学过前端后端知识,只是一知半解,这篇文章主要作为扒源代码的思路,具体细节并未详细介绍!!! Blog搭建...

  • Android逆向 各个文章汇总

    知识点总结https://bbs.pediy.com/thread-257766.htm bb+AES+随机and...

  • LuckyFrame搭建关键点

    一、搭建环境说明 1.web端部署在虚拟机Centos6.5系统中。已安装jdk1.8,mysql5.7,tomc...

  • 第二篇 Docker搭建Discuz

    1 前言 一直想要搭建自己的BBS论坛,找了不少开源的BBS系统,因为个人熟识Java开发,在GitHub上找了不...

  • BBS系统搭建全过程

    特别说明 l 所有的项目代码都托管到github上,链接如下: https://github.com/allenh...

  • UI关键点总结

    属性: 使用assign: 对基础数据类型 (NSInteger,CGFloat)和C数据类型(int, floa...

  • LLVM 关键点总结

    LLVM不是一个编译器,而是一套工具集,这套工具包括完整编译过程的所有部分,它将编译过程的各个部分模块化,用户可以...

  • Linkedin关键点总结

    Linkedin功能非常强大(涵盖了类似微信朋友圈、公众号、论坛、online message等功能),但使用其实...

  • 关键点寻宝总结

    交易总结:“五一”假期对IF主力合约进行了80关键点操作系统历史回测统计分析,明确了关键点的趋势判断和指引作用,完...

网友评论

      本文标题:Django-搭建BBS关键点总结

      本文链接:https://www.haomeiwen.com/subject/iswboctx.html