Docker搜索排名第一的直接安装,python和Django环境就现成的了
麻烦的是怎么用起来
round1
$ django-admin.py startproject testdj
cd testdj # 切换到我们创建的项目
$ python manage.py runserver 0:8000
看着像是成了,实际访问不了
round2
安装容器
sudo pip3 install uwsgi
新建 uwsgi.ini 配置文件(和 manage.py 文件同级目录
[uwsgi] # 套接字方式的 IP地址:端口号 # socket=127.0.0.1:8000 # Http通信方式的 IP地址:端口号 http=127.0.0.1:8000 #上述两种方式选择其一,在使用Nginx需要使用socket # 项目当前工作目录自行配置 chdir=/home/.../.../my_projectname 这里需要换为项目文件夹的绝对路径 # 项目中wsgi.py文件的目录,相对于当前工作目录 wsgi-file=my_project/wsgi.py #是否启动主进程来管理其他进程 master=true # 进程个数,根据电脑配置设置 process=4 # 每个进程的线程个数 threads=2 # 服务的pid记录文件 pidfile=uwsgi.pid # 服务的日志文件位置 daemonize=uwsgi.log
然后修改 settings.py 文件将其设置为适合线上生产环境使用,如下所示:
DEBUG=False #关闭调试模式
ALLOWED_HOSTS = ['*'] #任何ip都可以访问
启动 uwsgi 命令 $ cd 项目文件夹 $ sudo uwsgi --ini uwsgi.ini 停止 uwsgi 命令 $ cd 项目文件夹 $ sudo uwsgi --stop uwsgi.pid
python manage.py 命令详解
(venv) ➜ mytest python manage.py
Type 'manage.py help <subcommand>' for help on a specific subcommand.
Available subcommands:
[auth]
changepassword 修改用户密码
createsuperuser 创建超级用户
[contenttypes]
remove_stale_contenttypes
[django]
check 检查Django项目的完整性
compilemessages # 编辑语言文件
createcachetable 查看你的配置和Django的默认配置有和不同
dbshell 进入Django dbshell 数据库交互模式
diffsettings
dumpdata 导出数据库
flush 清空数据库
inspectdb
loaddata
makemessages
makemigrations 创建数据库同步脚本
migrate 根据模型创建数据表
sendtestemail
shell 交互模式 主要是调试数据库
showmigrations 查看生产数据库的同步脚本
sqlflush 查看生成清空数据库的脚本
sqlmigrate 查看数据库同步的SQL语句
sqlsequencereset
squashmigrations
startapp 创建一个新app
startproject # 创建一个新项目
test
testserver
[sessions]
clearsessions
[staticfiles]
collectstatic # 收集静态文件到到指定文件夹,用于部署前
findstatic # 查询项目中的静态文件
runserver 启用Django为我们提供的轻量级的开发用的Web服务器。默认情况下,服务器运行在IP地址127.0.0.1的8000端口上。如果要自定义服务器端口和地址,可以显式地传递一个IP地址和端口号给它。