Django学习笔记-配置Docker、Git环境与项目创建

笔记内容转载自AcWing的Django框架课讲义,课程链接:AcWing Django框架课。

CONTENTS

    • 1. 配置Docker环境
    • 2. Django项目创建
    • 3. Django App创建

1. 配置Docker环境

首先拉取一个 Ubuntu 镜像:

docker pull ubuntu:20.04

创建容器后进入容器配置基本环境并创建用户:

docker run -p 20000:22 -p 8000:8000 --name ubuntu_django -itd ubuntu:20.04
docker attach ubuntu_django
apt-get update
apt-get install vim
apt-get install tmux
apt-get install tree
apt-get install silversearcher-ag
apt-get install openssh-server
adduser asanosaki
usermod -aG sudo asanosaki
exit

然后去云服务器官网放行20000端口和8000端口:

Django学习笔记-配置Docker、Git环境与项目创建_第1张图片

通过 SSH 远程连接容器:

ssh asanosaki@localhost -p 20000

Django学习笔记-配置Docker、Git环境与项目创建_第2张图片

如果出现 kex_exchange_identification: read: Connection reset by peer 报错,就去进入容器的根用户下编辑 hosts.allow 文件:

vim /etc/hosts.allow

在文件中添加一行:sshd: ALL,然后重启 SSH 服务:service ssh restart

进入容器根用户安装剩余的环境:

apt-get update
apt-get install python3
apt-get install python3-pip
apt-get install git
pip install Django
pip install uwsgi
pip install supervisor

查看 Django 版本:

django-admin --version

2. Django项目创建

通过以下命令创建一个 Django 项目:

django-admin startproject djangoapp

将项目上传至 Git(注意需要先在容器中生成公钥,并在 Git 中添加公钥):

cd djangoapp/
git init
git config --global user.name "xxx"
git config --global user.email "[email protected]"
git add .
git commit -m "initial project"
git remote add origin [email protected]:<用户ID>/<仓库名>.git
git push --set-upstream origin master

尝试启动一下项目:

python3 manage.py runserver 0.0.0.0:8000

这时候访问一下网址:http://<云服务器的公网IP>:8000/,会看到提示:Invalid HTTP_HOST header: '<云服务器的公网IP>:8000'. You may need to add '<云服务器的公网IP>' to ALLOWED_HOSTS.,这是因为 Django 是个很安全的框架,会自动屏蔽很多可疑的访问,我们需要将公网 IP 添加到 ALLOWED_HOSTS 中:

cd djangoapp/  # 此时在 ~/djangoapp/djangoapp 中
找到 ALLOWED_HOSTS = [],改为 ALLOWED_HOSTS = ["<公网IP>"]  # 注意要用引号

Tips:如果找不到 ALLOWED_HOSTS 可以使用 ag 命令查找:

ag ALLOWED_HOSTS

现在即可成功访问网址:

Django学习笔记-配置Docker、Git环境与项目创建_第3张图片

此时会看到项目文件夹下出现了一个 __pycache__ 目录,这个是预编译好的一些文件,用于加速 Python 运行,我们在往 Git 上传代码时最好不要上传这些中间文件,我们可以在仓库的根目录下添加一个 .gitignore 文件,文件内容如下:

*/__pycache__

最后上传至 Git:

git add .
git commit -m "modify ALLOWED_HOSTS"
git push

3. Django App创建

在上一节中启动的页面为 Django 的默认页面,我们在开发时需要创建一个新的 App 写自己的页面,首先通过以下指令创建一个名为 game 的 App,创建好后当前目录下会生成一个名为 game 的目录:

python3 manage.py startapp game

git add .
git commit -m "init app game"
git push

此时启动 runserver 指令时会发现出现了报错:You have 18 unapplied migration(s). Your project may not work properly ......,原因是有一部分的数据库修改还没有同步到数据库里,运行以下指令同步数据库的修改:

python3 manage.py migrate

打开 http://<公网IP>:8000/admin/ 页面可以看到 Django 自带的管理员页面,我们可以创建管理员用户(假设用户名和密码都为 admin):

python3 manage.py createsuperuser

然后即可登录管理员账户进入管理员界面:

Django学习笔记-配置Docker、Git环境与项目创建_第4张图片

我们再回过头来进入之前创建的 App 中,能看到有几个比较重要的文件:models.pyviews.py,我们先手动创建剩余的比较重要的文件:

touch urls.py
mkdir templates

接下来整个项目需要操作的就这四个文件。

你可能感兴趣的:(Django,git,django,学习,笔记,docker)