缓存默认使用 localmem(本地内存缓存)。如果你有 Redis 环境,可以通过设置 DJANGO_REDIS_URL 环境变量来自动切换到 Redis 缓存。
设置环境变量:
export DJANGO_REDIS_URL="127.0.0.1:6379/0"或者在 settings.py 中直接修改缓存配置:
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.redis.RedisCache',
'LOCATION': 'redis://127.0.0.1:6379/0',
}
}参考代码:https://github.com/liangliangyy/DjangoBlog/blob/master/djangoblog/settings.py#L201-L215
现在已经支持QQ,微博,Google,GitHub,Facebook登录,需要在其对应的开放平台申请oauth登录权限,然后在
后台->Oauth 配置中新增配置,填写对应的appkey和appsecret以及回调地址。
qq:http://你的域名/oauth/authorize?type=qq
微博:http://你的域名/oauth/authorize?type=weibo
type对应在oauthmanager中的type字段。
同样,将settings.py中的ADMINS = [('liangliang', 'liangliangyy@gmail.com')]配置为你自己的错误接收邮箱,另外修改:
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.db.migrations.exceptions.MigrationSchemaMissing: Unable to create the django_migrations table ((1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL)' at line 1"))可能是因为你的mysql版本低于5.6,需要升级mysql版本>=5.6即可。
Django 4.0 及以上版本需要配置 CSRF_TRUSTED_ORIGINS,否则可能会在登录时报 CSRF 错误。
在 settings.py 中配置您的域名:
CSRF_TRUSTED_ORIGINS = [
'http://example.com',
'https://example.com',
'http://www.example.com',
'https://www.example.com',
]注意:请将 example.com 替换为您的实际域名,包括协议(http/https)。
参考代码:https://github.com/liangliangyy/DjangoBlog/blob/master/djangoblog/settings.py#L41
本项目目前使用 Django 5.2.9,已经过充分测试,运行稳定。如果从旧版本升级,请注意:
- 确保 Python 版本 >= 3.10
- 运行数据库迁移:
python manage.py migrate - 更新依赖:
pip install -r requirements.txt
- Alpine.js 3.13: 轻量级响应式框架
- Tailwind CSS 3.4: 实用优先的 CSS 框架
- HTMX 2.0: HTML-over-the-wire 架构
- Vite 5.4: 现代化构建工具
在开发前端代码时,可以使用 Vite 的热更新功能:
cd frontend
npm run dev这将启动 Vite 开发服务器(默认端口 5173),修改前端代码后会自动重新构建和刷新浏览器。
cd frontend
npm run build构建产物将输出到 blog/static/blog/dist/ 目录,包括:
- CSS 文件(经过 Tailwind JIT 编译和压缩)
- JavaScript 文件(经过代码分割和压缩)
- Vite manifest 文件(用于资源映射)
项目内置深色模式功能:
- 自动切换: 支持跟随系统主题自动切换
- 持久化: 用户选择会保存到 localStorage
- 防闪烁: 页面加载时无白屏闪烁
- 快捷键: 支持
Ctrl+Shift+D/Cmd+Shift+D快速切换
用户可以通过页面右上角的按钮手动切换主题。
支持 8 种配色主题,可在 djangoblog/settings.py 中配置:
# 在模板中设置
COLOR_SCHEME = 'purple' # purple, blue, green, orange, pink, red, indigo, teal配色方案通过 CSS 变量系统实现,修改后无需重新构建前端资源。
