首页 > 其他分享 >基于Django的博客系统

基于Django的博客系统

时间:2023-06-02 18:07:02浏览次数:38  
标签:基于 manage py 博客 EMAIL django pip Django owntracks

基django的博客系统,

界面展示

首页前端界面如下:

基于Django的博客系统_django


文章页面:

基于Django的博客系统_博客系统_02


后台页面:

基于Django的博客系统_微信公众号_03


文章页面:

基于Django的博客系统_缓存_04


##项目结构图

代码主要文件结构如下:

基于Django的博客系统_缓存_05

分别介绍下各个目录:

  • accounts: 用户模块
  • blog:博客模块
  • comments: 评论模块
  • oauth: 第三方登录模块
  • owntracks: owntracks位置追踪模块
  • servermanager: 服务管理模块
  • templates: 页面文件

主要功能:

  • 文章,页面,分类目录,标签的添加,删除,编辑等。文章及页面支持Markdown,支持代码高亮。
  • 支持文章全文搜索。
  • 完整的评论功能,包括发表回复评论,以及评论的邮件提醒,支持Markdown
  • 侧边栏功能,最新文章,最多阅读,标签云等。
  • 支持Oauth登陆,现已有Google,GitHub,facebook,微博,QQ登录。
  • 支持Memcache缓存,支持缓存自动刷新。
  • 简单的SEO功能,新建文章等会自动通知Google和百度。
  • 集成了简单的图床功能。
  • 集成django-compressor,自动压缩cssjs
  • 网站异常邮件提醒,若有未捕捉到的异常会自动发送提醒邮件。
  • 集成了微信公众号功能,现在可以使用微信公众号来管理你的vps了。

安装

使用pip安装:
pip install -Ur requirements.txt

如果你没有pip,使用如下方式安装:
OS X / Linux 电脑,终端下执行:

curl http://peak.telecommunity.com/dist/ez_setup.py | python
curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python

windows电脑:
下载 http://peak.telecommunity.com/dist/ez_setup.pyhttps://raw.github.com/pypa/pip/master/contrib/get-pip.py 这两个文件,双击运行。

初始化运行

修改DjangoBlog/setting.py 修改数据库配置,如下所示:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'djangoblog',
        'USER': 'root',
        'PASSWORD': 'password',
        'HOST': 'host',
        'PORT': 3306,
    }
}

创建数据库

mysql数据库中执行:

CREATE DATABASE `djangoblog` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */;

然后终端下执行:

./manage.py makemigrations
./manage.py migrate

创建超级用户

终端下执行:

./manage.py createsuperuser

创建测试数据

终端下执行:

./manage.py create_testdata

收集静态文件

终端下执行:

./manage.py collectstatic --noinput
./manage.py compress --force

开始运行:

执行:
./manage.py runserver

浏览器打开: http://127.0.0.1:8000/ 就可以看到效果了。

主要功能配置介绍:

缓存:

缓存默认使用memcache缓存,如果你没有memcache环境,则将settings.py中的locmemcache改为default,并删除默认的default配置即可。

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
        'KEY_PREFIX': 'django_test' if TESTING else 'djangoblog',
        'TIMEOUT': 60 * 60 * 10
    },
    'locmemcache': {
        'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
        'TIMEOUT': 10800,
        'LOCATION': 'unique-snowflake',
    }
}

oauth登录:

现在已经支持微博,Google,GitHub,Facebook登录,需要在其对应的开放平台申请oauth登录权限,然后在
后台->Oauth 配置中新增配置,填写对应的appkeyappsecret以及回调地址。

owntracks:

owntracks是一个位置追踪软件,可以定时的将你的坐标提交到你的服务器上,现在简单的支持owntracks功能,需要安装owntracks的app,然后将api地址设置为:
你的域名/owntracks/logtracks就可以了。然后访问你的域名/owntracks/show_dates就可以看到有经纬度记录的日期,点击之后就可以看到运动轨迹了。地图是使用高德地图绘制。

邮件功能:

同样,将settings.py中的ADMINS = [('liangliang', '[email protected]')]配置为你自己的错误接收邮箱,另外修改:

EMAIL_HOST = 'smtp.zoho.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = os.environ.get('DJANGO_EMAIL_USER')
EMAIL_HOST_PASSWORD = os.environ.get('DJANGO_EMAIL_PASSWORD')
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
SERVER_EMAIL = os.environ.get('DJANGO_EMAIL_USER')

为你自己的邮箱配置。

微信公众号

集成了简单的微信公众号功能,在微信后台将token地址设置为:你的域名/robot 即可,默认token为lylinux,当然你可以修改为你自己的,在servermanager/robot.py中。
然后在后台->Servermanager->命令中新增命令,这样就可以使用微信公众号来管理了。

网站配置介绍

后台->BLOG->网站配置中,可以新增网站配置,比如关键字,描述等,以及谷歌广告,网站统计代码及备案号等等。
其中的静态文件保存地址是保存oauth用户登录的头像路径,填写绝对路径,默认是代码目录。

代码高亮

如果你发现你文章的代码没有高亮,请这样书写代码块:

基于Django的博客系统_Django_06

也就是说,需要在代码块开始位置加入这段代码对应的语言。

##其他补充
django (Python Web 框架)说明

注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权


标签:基于,manage,py,博客,EMAIL,django,pip,Django,owntracks
From: https://blog.51cto.com/u_7583030/6404423

相关文章

  • 基于 Vue BootStrap的迷你Chrome插件
    安装安装VisualStudioCode和Chrome,自行翻墙详细安装这里略过安装包管理工具用管理员身份运行cmd,输入:npminstall-gbower(全局安装)创建新建目录brochure进入目录运行bowerinstallbootstrap@3vueaxios成功!新建css,js目录,并在对应的目录下面新建index.css和inde......
  • 云原生之使用Docker部署Ghost个人博客
    (云原生之使用Docker部署Ghost个人博客)一、检查本地系统版本[root@docker~]#cat/etc/os-releaseNAME="CentOSLinux"VERSION="7(Core)"ID="centos"ID_LIKE="rhelfedora"VERSION_ID="7"PRETTY_NAME="CentOSLinux7(Core)&qu......
  • 基于Qt的A*算法可视化分析
    需求之前做过一个无人车需要自主寻找最佳路径,所以研究了相关的寻路算法,最终选择A算法,因为其简单易懂,是入门级的寻路算法。但是在验证的算法的时候,没有直观的感受,总是觉得会有什么问题,所以我就写了一个可视化的A算法验证,界面基于Qt开发。项目说明本项目主要分为2个部分,Qt绘制网格......
  • django_web(上)
    建立数据库fromdjango.dbimportmodels#Createyourmodelshere.classAdmin(models.Model):username=models.CharField(verbose_name='用户名',max_length=32)password=models.CharField(verbose_name='密码',max_length=64)classDepartme......
  • 基于Selenium库模拟用户行为的QQ空间爬虫
    QQ空间爬虫代码链接:https://github.com/hhr346/QQ_zone_crawl该程序的主要实现过程是进入某位好友的空间中,并自动爬取说说的文本内容并存储到txt文件中。方法是使用Chrome浏览器的自动执行功能,来实现翻页,并对html的源代码进行文本提取,通过正则表达式来实现某一块内容的提取。将......
  • 39基于java的酒店管理系统设计与实现
    本章节给大家带来一个基于java的酒店管理系统设计与实现,可用于酒店订票系统,酒店预订系统,酒店信息管理系统,app订房系统设计与实现;引言随着现在网络的快速发展,网上管理系统也逐渐快速发展起来,网上管理模式很快融入到了许多企业的眼球之中,随之就产生了“酒店信息管理系统”,这样就......
  • How to Find Django ImageField URL
    Thissetupisworkingforme,maybeitwillhelpyou.ItisforlatestversionofDjango.ManyanswersinOSareforolderDjangoversions.URLS:fromdjango.conf.urls.staticimportstaticfromdjango.confimportsettingsurlpatterns=[#url]+static(s......
  • Django邮件发送设置
    开启126邮箱的SMTP服务,并获取到一个授权码,这个授权码只显示一次在setting中配置邮件相关的设置Shell下对邮箱做一个简单的测试可以正常收到邮件添加路由相关信息,使用userapp下的路由相关信息在views中根据建立的session中第一个用户,根据用户的一个方法email_user向该用户发送邮件......
  • 基于Grafana的WebUI添加Prometheus数据源(三)
    基于Grafana的WebUI添加Prometheus数据源(三)1、Grafana介绍1.1什么是GrafanaGrafana是一款近几年比较流行的开源数据绘图工具平台。Grafana原生支持包括但不限于InfluxDB,MySQL,OpenTSDB,PostgreSQL和Prometheus等多种数据源作为输入源数据。官方地址:https://grafana.com......
  • 人生第一篇博客
    蹉跎了三十余载,从事开发也有十二年了,但是只有经验,技术一般。究其原因还是对技术浅尝辄止,只求会用,简单解决问题不求甚解,没有系统的学习过计算机底层的知识。今天在这里发个愿,坚持去学习一下计算机的底层知识:计算机组成原理、计算机操作系统、编译原理、数据结构和算法、计......