本项目为django基本项目,关于django详细教程请移步至本博客项目 django基础系列,关于项目的所使用的环境为:

  • python3.6
  • django 2.1.7
  • MacOS
  • sqlite3
  • pycharm (开发工具)

项目介绍

本项目为前后端不分离式开发,后端前台使用django-simpleui,博客前端使用hadnsome主题,后台使用python语言django框架开发, 具体功能如下

  • 全局设置
    • 可自定义博客主题
    • 站点logo
    • url
    • 友链信息
    • SEO相关信息
  • 局部设置
    • 用户登录注册功能
    • 用户留言功能
    • 用户针对文章评论功能
    • 邮件提醒功能
    • 全文检索功能
    • sitemap站点地图
    • 博客菜单自定义(方便站点扩展)
  • 博客功能
    • 博客分类
    • 博客标签
    • 博客评论

后期如果博客有扩展功能,博主会第一时间更新至本教程

创建项目

为了减少开发过程中出现不必要的错误,请学习本教程的朋友务必使用跟本教程项目的环境 使用pycharm创建新项目,项目名称为WebSites,创建完项目之后,控制台进入虚拟环境,创建app

python manage.py startapp blog

这是项目根目录会出现一个名为blog的文件夹

项目配置

在项目根目录创建apps的python package的包,然后把blog放进apps包中,为以后扩展更多应用做好分类,避免项目乱糟糟 然后开始配置我们的项目,在WebSites中找到setting.py文件,做如下配置:

import sys
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))  # 因为blog在apps包中,我们这里配置是为了让项目直接在apps中找到相应的应用

# 注册blog应用
INSTALLED_APPS = [
...
'blog',
]

# 项目国际化
LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Shanghai'

USE_I18N = True

USE_L10N = True

USE_TZ = False


# 静态资源相关配置
STATIC_URL = '/static/'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

# STATIC_ROOT = os.path.join(BASE_DIR, 'static/')

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')  # uploads必须存在,且在项目目录下
MEDIA_URL = '/media/'  # 你上传的文件和图片会默认存在/uploads/editor下

以上配置完成后,在url.py中配置静态资源相关的路由,避免找不到项目中的静态资源

from django.urls import path, include, re_path
from django.conf.urls.static import static
from django.conf import settings
from django.views.static import serve

urlpatterns = [
    path('admin/', admin.site.urls),

    re_path('^media/(?P<path>.*)$', serve, {'document_root': settings.MEDIA_ROOT}),

]+static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

然后在项目根目录创建static文件夹用来存放我们的静态资源 最后右键单击apps包,选择Mark Direcotry as > rescource root 至此,项目初始化完毕

最后修改:2020年6月27日 12:14