0、配置docker、git环境与django项目创建
项目搭建
租一台具有公网IP的云服务器,并且配好Docker环境,采用git管理版本文件。
前期搭建可以参考:
配置环境
-
将镜像上传到自己租的云端服务器
scp django_1_0.tar server_name: -
登录自己的云端服务器 ,使用SSH免密登录
ssh server_name -
将镜像加载到本地
docker load -i django_1_0.tar -
创建并运行
django:1.0镜像 (端口要自己去云平台放行-安全组) ,20000用于ssh登录,8000用于访问项目docker run -p 20000:22 -p 8000:8000 --name django_server -itd django:1.0 -
进入创建的docker容器
docker attach django_server -
设置root密码 ,与云服务器相同, 我们也不会在虚拟服务器中直接使用
root权限, 会创建一个有sudo权限的用户,详细配置:云服务器配置与安装# 设置root密码 passwd # 创建普通用户sdz adduser sdz # 给用户sdz分配sudo权限 usermod -aG sudo sdz # 可切换到用户sdz中 su sdz -
ctrl p + ctrl q挂起容器 (让虚拟服务器在后台运行): -
返回AC terminal,为
docker的sdz用户配置别名和免密登录 ,详细介绍:SSH免密登录。# 配置别名,注意添加端口号 vim ~/.ssh/config # 为sdz用户一键添加公钥,免密登录 ssh-copy-id 别名 -
配置置一下docker环境
scp .bashrc .vimrc .tmux.conf django:
Docker临时端口映射方法
方法
-
利用
docker ps命令查看<container_id>(容器id) -
查看容器IP:
docker inspect <container_id> | grep IPAddress -
宿主机配置
iptables:iptables -t nat -A DOCKER -p tcp --dport <host_port> -j DNAT --to-destination <container_ip>:<docker_port> iptables -t nat -A POSTROUTING -j MASQUERADE -p tcp --source <container_ip> --destination <container_ip> --dport <docker_port> iptables -A DOCKER -j ACCEPT -p tcp --destination <container_ip> --dport <docker_port> -
查看是否映射成功:
iptables -t nat -nvL
例如
将容器内22端口映射到宿主机20000端口
172.17.0.2 ---> container_ip
20000 ---> host_port
22 ---> docker_port
iptables -t nat -A DOCKER -p tcp --dport 20000 -j DNAT --to-destination 172.17.0.2:22
iptables -t nat -A POSTROUTING -j MASQUERADE -p tcp --source 172.17.0.2 --destination 172.17.0.2 --dport 22
iptables -A DOCKER -j ACCEPT -p tcp --destination 172.17.0.2 --dport 22
iptables -t nat -nvL(查看是否映射成功)
注:如果报错在命令前面加上sudo提升一下权限
缺陷:重启之后需要重新加
项目创建
-
打开
tmux是个好习惯, 防止意外退出工作丢失. -
创建
django项目hylddjango-admin startproject hyld -
配置
git, 使用git维护项目,详细参考git 常用命令:-
ssh-keygen生成密钥用于连接到gitee或者ac git上面 -
在
gitee偏好设置中,打开ssh密钥,添加一下刚才生成的公钥。 -
git init进到hyld中将其配置成git仓库 -
打开
gitee,在gitee上创建一个仓库(项目)按照下面的提示在gitee里面配置一下gitgit config --global user.name xxx git config --global user.email xxx@xxx.com git add . git commit -m "xxx" git remote add origin git@gitee.com:pxlsdz/hyld.git # 设置本地的branch_name分支对应远程仓库的branch_name分支 git push --set-upstream origin master
-
编写项目
-
首先尝试运行项目:
python3 manage.py runserver 0.0.0.0:8000-
运行成功, 在浏览器输入:
IP:8000就可以访问了。 -
网页提示需要将
IP地址放入ALLOWED_HOSTS。 -
小技巧: 使用
ag ALLOWED_HOSTS找到其所属文件以及在文件中的位置. 将我们的IP加入其中。 -
至此我们就成功运行我们的项目了。

-
-
创建
app-
小技巧: 使用
git add .将所有修改文件加入暂存区时忽略某些文件。比如__pycache__是中间文件,只是用来加速运行的,是python系统生成的,不是完美源代码。在git仓库
根目录创建.gitignore, 每行写入你希望忽略的文件名(可使用类型正则表达式的匹配模式),例如**/__pycache__ -
我们输入
IP:8000看到的网页是Django默认网页. 要编写我们自己的网页(代码), 需要创建app. (project提供配置文件; 我们在app编写模型和视图代码). -
云端开发习惯: 开两个tmux:一个tmux用于维护控制台, 接受运行过程中的信息; 另一个用于开发。
我们可以Ctrl-a + d挂起当前tmux, 输入tmux再创建一个。之后用Ctrl-a + s在两个tmux间切换。 -
生成一个
app:python3 manage.py startapp game. 其中game为app名.game文件中的内容:admin.py: 存储管理员页面models.py: 定义数据库表views.py: 视图/函数
-
登录
django管理员界面-
ctrl c先关掉控制台 -
python3 manage.py migrate同步一下数据库的修改,之后就可以正常进入IP地址:8000/admin -
python3 manage.py createsuperuser创建管理员账号 -
python3 manage.py runserver 0.0.0.0:8000启动控制台
IP地址:8000/admin进到管理员登录界面,输入一下刚才创建的账号即可进到管理员界面
-
-
-
编写页面
-
game中关键的几个文件(夹),如果没有手动创建即可cd game touch urls.py mkdir templates-
models.py: 数据存储格式, 如Class。 -
views.py: 视图/函数逻辑, 例如点击网页中的按钮, 实际是调用在views中实现的函数. -
urls.py: 路由, 根据不同网页地址判断调用什么函数. -
templates: 文件夹, 存储页面格式. 如html.
随着网站逻辑的增加, 上述的几个文件可以借助python很容易的扩展为文件夹(树形结构的文件).
-
-
在
views中写入返回字符串的函数(网页向views传入请求, 其返回一个字符串); 在game下的urls中写入如果地址为IP:8000/..., 调用哪个函数, 此外要在app下的urls引入game的urls.# game 文件夹 # 定义接口 vim views.py # 定义路由 vim urls.py # hyld 文件夹 cd hyld # 加入访问game的路由即可 vim urls.py -
大致顺序: 输入网址
-->hyld/urls-->game/urls-->game/views内的函数-->返回字符串至网页. -
git保存提交分支,注意过滤掉.swp文件,具体修改代码请查看gitee
-

浙公网安备 33010602011771号