# ** 创建django项目 **
---------- 一、配置环境
默认已在自己的云服务器上安装了docker
工程课所需镜像全部存放在 /var/lib/acwing/docker/images/ 目录下中的 django_lesson_1_0.tar server_name里
1. 配置别名:
(1)先用ssh登录自己的服务器
(2)输入docker --version检查是否安装了docker
(3)先在终端生成公钥:ssh-keygen,然后一直回车即可(会生成一个文件夹 .ssh/)
(4)进入.ssh/ ,创建一个config文件,并进入配置别名
Host django_server(别名)
HostName ip地址
User acs(用户名)
配置完成之后,即可使用“ssh 别名”登录服务器
2.创建普通用户:避免直接在根目录下进行操作,权限太高,造成一些不可挽回的损失,当需要速度权限的时候,可以临时使用sudo命令升级权限。
adduser acs#创建普通用户acs
这样再次使用ssh acs登录的时候,登录的便是acs账号
3.配置免密登录:
ssh-copy-id 别名 # 为acs用户一键添加公钥,免密登录
usermod -aG sudo acs # 给用户acs分配sudo权限
这样配置完成之后,下次再次登录django——server服务器就不用再输入密码了
4。上传镜像:scp /var/lib/acwing/docker/images/ django_lesson_1_0.tar server_name: # 将镜像上传到自己租的云端服务器
5.将下载好的文件下载到自己的服务器上:docker load -i django_lesson_1_0.tar
6.利用下载好的镜像生成需要的容器:docker run -p 20000:22 -p 8000:8000 --name django_server -itd django_lesson:1.0 #创建并运行django_lesson:1.0镜像 (端口要自己去云平台放行)
7. 进入创建的docker容器:docker attach django_server(仍然需要进行创建非根账号)
adduser acs#创建普通用户acs
usermod -aG sudo acs#给用户acs分配sudo权限
先ctrl + p,再ctrl + q#挂器容器
再进入acs账号进行免密登录
8.在服务器中开放20000(ssh登录)和8000(调试)端口
9.为服务器登录20000端口配置别名:返回终端,进入.ssh/config文件
Host django(别名)
HostName ip地址
User acs(用户名)
Port 20000(端口号)
10.为服务器登录20000端口配置免密登录:ssh-copy-id django
从此以后直接在终端输入ssh django即可登录服务器的20000端口
11.为服务器配置环境:scp .bashrc .vimrc .tmux.conf 别名
若想要增加端口,可以先将容器commit成镜像,然后再重新启动容器,同时多开几个端口即可
----------二、创建django项目
1. 创建django项目acapp:django-admin startproject acapp
2.进入acapp,配置git
git init#配置git仓库
在根目录ssh-keygen#生成密钥用于连接ac git
进入.ssh/,查看密钥id_rsa_pub,将其复制到ac git上
在ac git上创建一个项目
根据提示配置环境:
git config --global user.name xxx
git config --global user.email xxx@xxx.com
git add .
git commit -m "xxx"
git remote add origin git@git.acwing.com:xxx/XXX.git
git push,根据提示输入一次该该命令即可
这样我们就可以在ac git 上看到我们上传的项目了
3.将我们的项目跑起来:python3 manage.py runserver 0.0.0.0:8000
在浏览器中输入“ip地址:8000”
4.根据浏览器提示,将ip地址加入文件中
ag ALLOWED-HOSTS #全文搜索
根据提示找到这个文段里,将ip地址用字符串写入即可
现在就可以运行我们的django项目了
5.git 代码:
在git仓库的根目录下,即acapp下,创建.gitignore文件
在文件中写入 “**/__pycache__”,这样在上传代码的时候,就会忽略这样格式的没必要的文件
6.开两个tmux,一个用来运行,另一个用来写项目
7.创建"game"app:python3 manage.py startapp game
8.创建django管理员页面:
先关闭后台:ctrl+c
同步一下数据库的修改:python3 manage.py migrate
创建管理员账号:python3 manage.py createsuperuser
启动控制台:pyhton3 manage.py runserver 0.0.0.0:8000
在浏览器中输入“ip地址:8000/admin”,即可进入管理员页面
9.创建自己的页面
cd game #进入app
touch urls.py
mkdir templates
vim views(写视图):#定义一个index函数
from django.http import HttpResponse
def index(request):
return HttpResponse("我的第一个页面")
vim urls.py(写路由):
from django.urls import path
from game.views import index#python语法,在game文件夹中找到views文件,将index函数导入
urlpatterns = {
path("", index, name="index"),#path是一个解析的过程,若只输入ip地址和端口以及主前缀,则掉用该函数
}
cd acapp vim urls.py(将刚才写的路由,引入总路由里):
开头加上 from django.urls import path, include
urlpatterns中加入 path("", include('game.urls'),