python_93040206

john 3795d0461a 项目终止 il y a 7 mois
ClientPlatform 157e244f9d 立即执行的显示问题 il y a 2 ans
admin_site 157e244f9d 立即执行的显示问题 il y a 2 ans
基础信息 376085445e 第一阶段 il y a 2 ans
.gitignore 3795d0461a 项目终止 il y a 7 mois
README.md 376085445e 第一阶段 il y a 2 ans
get-pip.py cf82d146ef 文件 il y a 2 ans
requirements.txt a9ad072065 优化删除逻辑 il y a 2 ans
study0420-93040206-1-SNP基因肿瘤预测-算法部分.rar 3795d0461a 项目终止 il y a 7 mois

README.md

参考地址

https://docs.djangoproject.com/zh-hans/4.0/intro/tutorial01/

https://inner.wei-group.net/DeepBIO/#/

项目说明

安装 django

pip3 install django

ps.可能需要配置环境变量,python export PATH=/Users/didi/Library/Python/3.8/bin:$HOME/bin:$PATH

创建 django 项目

django-admin startproject admin_site

初始化配置

python3 manage.py migrate

创建 user 子模块

python3 manage.py startapp user

安装mysql

使用说明:https://juejin.cn/post/6844904070117851143

docker run -p 3306:3306 --name mysql -v /Users/didi/code/python_project/python_841507/mysql_db:/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 -d c20987f18b docker run -p 3306:3306 --name mysql -v /Users/honghaitao/code/python_93040206/mysql_db:/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 -d c20987f18b

使用

创建远程访问用户 CREATE USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

分配权限给用户 GRANT ALL PRIVILEGES ON . TO 'admin'@'%';

安装 mysqlclient

安装说明:https://pypi.org/project/mysqlclient/

使用说明:https://www.liujiangblog.com/course/django/165

我选择用mysql-clint代替

pip3 install mysqlclient

配置Django的settings.py

注意网络和权限问题

由于各种各样的原因,很多新手在第一次部署MySQL服务器的时候,总是会出现问题。下面将一些排查手段列出:

  • 确保你的Linux发行版没有给你挖坑,不要选小众版本
  • 确保MySQL的版本合格,越新越好
  • 确保Django服务器主机能访问MySQL主机
  • 查看防火墙、端口、用户权限、虚拟机桥接和NAT
  • 通过ssh、ping等一切手段验证网络是畅通的
  • 确保mysqlclient库是最新可用的
  • 确保mysqlclient被安装在了正确的虚拟环境中
  • 通过navicat确保Mysql服务启动并正常工作
  • 确保mysite数据库被正确安装了
  • 确保mysite数据库对当前Django服务器IP发出的,以数据库用户名登录的用户具有正确的权限
  • 确保数据库用户名和密码正确
  • 确保你使用的数据库用户对我们创建的mysqite数据库有读写权限
  • 确保数据库是utf-8模式

总之:

  • 服务可用
  • 网络可达
  • 权限满足
  • 模式正确

部署

参考地址:https://www.dusaiphoto.com/article/71/

ssl授权证书(free):https://certbot.eff.org/#ubuntutyakkety-nginx

生产环境依赖

  • mysql:latest
  • django:4.x
  • nginx:latest

nginx 配置

server {
  # listen       [::]:80;
  server_name  www.suzuran.fun;
  root         /usr/share/nginx/html;

  # Load configuration files for the default server block.
  include /etc/nginx/default.d/*.conf;

	location / {
		proxy_pass  http://127.0.0.1:8000; # 转发规则
		proxy_set_header Host $proxy_host; # 修改转发请求头,让8080端口的应用可以受到真实的请求
    		proxy_set_header X-Real-IP $remote_addr;
    		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	}

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

项目依赖

配置依赖项

pip freeze > requirements.txt

省级pip3

pip3 install --upgrade pip

安装库

pip3 install -r requirements.txt

收集静态资源

python3 manage.py collectstatic

数据库迁移

python3 manage.py migrate

启动(保存后台运行)

gunicorn admin_site.wsgi:application -D