Django5博客网站开发实践1—网站从0开发到上线服务器的简要流程介绍
发布时间:2024-08
浏览量:375
本文字数:1881
读完约 7 分钟
一、基础环境搭建
1、安装python
此处略去
项目采用最新版的python和django环境
python3.12
django5.1
2、安装pip
py -m ensurepip --upgrade
配置pip镜像源(国内源)
阿里云 http://mirrors.aliyun.com/pypi/simple/
豆瓣 http://pypi.douban.com/simple/
中国科学技术 http://pypi.mirrors.ustc.edu.cn/simple/
全局配置某个pip源
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
升级pip
python.exe -m pip install --upgrade pip
3、安装Django模块
pip install Django
二、创建django项目
# 创建项目 django-admin startproject Django_web # 项目内创建应用 python manage.py startapp index python manage.py startapp wiki # 迁移创建数据-表 python manage.py makemigrations # 合并迁移(解决迁移冲突) python manage.py makemigrations --merage python manage.py migrate # 创建后台admin-超级管理员 python manage.py createsuperuser # 运行项目 python manage.py runserver
注意:在已有数据的情况下增加字段(某些字段dajngo自动创建索引,导致字段赋值默认值造成冲突,此时需要取消自动索引 db_index=False。迁移出问题时删除迁移文件重新迁移)
新创建的应用需要在项目settings里进行注册(INSTALLED_APPS)
三、markdown编辑器应用
# 后台markdown编辑器 pip install django-mdeditor # 前端文章显示markdown内容-转HTML pip install markdown # 图片上传功能支持 pip install pillow # 实现展示代码高亮 pip install Pygments # 实现代码高亮 # 代码高亮的不同样式 # cd切换到静态文件目录后执行:(把创建的样式文件存储到此目录) pygmentize -S default -f html -a .codehilite > code.css pygmentize -S friendly -f html -a .codehilite > code_friendly.css pygmentize -S colorful -f html -a .codehilite > code_colorful.css pygmentize -S fruity -f html -a .codehilite > code_fruity.css pygmentize -S pastie -f html -a .codehilite > code_pastie.css pygmentize -S manni -f html -a .codehilite > code_manni.css pygmentize -S emacs -f html -a .codehilite > code_emacs.css
四、线上部署
采用宝塔面板部署+映射域名(国内服务器域名需要备案通过)
1、导出项目依赖包
pip freeze > requirements.txt
2、项目打包
# 收集静态资源,在项目的 setting.py 文件配置 STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles') # 项目根目录下创建staticfiles文件夹 python manage.py collectstatic
打包为压缩包传到宝塔面板的项目目录下解压缩,解压以后删除压缩包
默认网站项目都放在wwwroot目录下
3、配置服务器
宝塔面板添加python项目
填写项目信息
打开外网映射
4、配置静态文件
打开python项目设置的uwsgi配置中加入以下映射,使得能外网访问能正常显示网站样式以及上传的图片等
# 项目settings里的STATIC_ROOT路径,保证网站静态资源在外网能正常加载 static-map = /static=/www/wwwroot/wenfengwiki/staticfiles # 项目settings里的MEDIA_ROOT路径,收集上传的资源路径(图片等) static-map = /media=/www/wwwroot/wenfengwiki/uploads