Last updated on 2024年12月30日
Mac本地完整Django项目搭建流程(Pycharm)
- 新建项目:使用Pycharm创建一个Django项目,我使用的专业版,不是专业版,就自己手动安装一下Django,手动运行startporjects一下,并没有太大区别,这个环节有疑问直接看官网文档,很清晰,还是中文版。
- setting.py设置:时区设置(中国就设置Asia/Shanghai), 静态文件路径设置,数据库设置,ALLOWED_HOSTS等
- 数据库提前创建,记下数据库的name, 以及登录该数据库的user和password,我这里使用的postgres13, 因为Django最低支持13,2G的服务器也能下载13,所以就用了,有条件的还是MySQL,省事一些。用postgres的,可以下载一个pgadmin来图形化管理pg,很方便
- 在
setting.py
数据库设置DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'postgres', 'USER': 'postgres', 'PASSWORD': 'postgres', 'HOST': 'localhost', 'PORT': '5432', } }
- 安装数据库驱动:
pip install psycopg2-binary
- 数据库迁移 :
python manage.py migrate
,此行命令就是为了建表,不然后台管理的东西用不了,本质上后台就是管理数据库的,如果没有数据库数据,就谈不上管理了。 - 创建后台管理超级用户:
python manage.py createsuperuser
- 运行测试:
python manage.py runserver
- 安装uwsgi服务器:
pip install uwsgi
- 新建uwsgi.ini文件,配置文件
[uwsgi] socket = 127.0.0.1:8000 chdir = /path/to/your/project wsgi-file = your_project/wsgi.py processes = 4 threads = 2 master = True pidfile = /path/to/your/projecte/uwsgi.pid daemonize = /path/to/your/project/uwsgi.log
- 设置静态文件路径:
STATIC_ROOT = BASE_DIR / 'static'
,这里很多人晕晕乎乎的,其实就是设置一个路径,告诉收集的静态放在哪,其他没啥用,当然收集后的这个绝对路径记得配置到Nginx里面。 - 收集静态文件:
python manage.py collectstatic
- 启动uwsgi服务器:
uwsgi --ini uwsgi.ini
- 生成requirements.txt文件
pip freeze > requirements.txt
,这一步,最好是全部都做完了,确定要部署服务器了,再执行,因为这个时候的各个依赖才是完整的。 - 部署到服务器,终于到了激动人心的部署了
- 使用自己会的方式将项目上传到服务器(我是用的是ftp),反正你把整个项目搞上去就行。至于你咋弄,不重要,当然也有人用docker,本质没太大区别,一个是小房间,一个是大集装箱。
- 在服务器上配置好需要的数据库,比如我是用的postgres,别问为什么不适用MySQL,因为MySQL8.0版本需要服务器内存4G, ,没必要花那钱(简称没钱)
- 如果是宝塔面板就直接在上面添加Python项目就行,环境配置好后,进入设置,域名添加和映射,ssl配置都弄好,然后进入文件目录,执行
python3 manage.py migrate
,把数据库的表现都建好,然后要使用后台管理的话,就再执行一遍的createsuperuser,如果不是宝塔, 就自己手动把虚拟环境启动后,东西按按就行了,没啥区别 - 配置Nginx的静态文件地址,当前如果你在上传前没有把静态文件收集,看上面静态文件收集部分, 配置好后,重启一下Nginx。
- 大功告成!!!