细细想来我部署在 Github 上的 blog 其实意义不大
就将它当成一个备用的博客好了(如果这个博客挂了的话。。。)
上面也没有什么多大意义的文章(唯一的一篇就只有这个还没完成的学习笔记)
就把它搬到这里,那个博客就算是弃置了吧
好吧由于种种原因,我无法继续这个项目,可惜,可惜
但眼前确实有更加要命之事——2022.9.14
好,就让我们开始吧
这里是 Django框架课
的学习笔记
1.准备工作
1.配置 docker
- 租一台云服务器
- 给云服务器分配一个
acs
用户
防止 root
用户权限太大造成无法挽回的损失
并添加 sudo
权限
1 2 |
adduser acs usermod -aG sudo acs |
- 换源
Ubuntu 的软件源配置文件是 /etc/apt/sources.list
。将系统自带的该文件做个备份,将该文件替换为下面内容,即可使用 TUNA 的软件源镜像。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse # 预发布软件源,不建议启用 # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse |
- 在云服务器上安装
tmux
,vim
,docker
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
sudo apt-get install tmux sudo apt-get install vim # docker sudo apt-get update sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io sudo usermod -aG docker $USER # 将当前用户添加到docker用户组,避免每次使用docker命令都需要加上sudo权限 |
- 利用
AC Terminal
传递祖传文件
1 2 |
scp .bashrc .vimrc .tmux.conf myserver1: scp /var/lib/acwing/docker/images/django_lesson_1_0.tar myserver1: |
- 创建容器
1 2 |
docker load -i django_lesson_1_0.tar docker run -p 20000:22 -p 8000:8000 --name django_server -itd django_lesson:1.0 |
并在腾讯云上打开 8000、20000 端口
注意:如果有 Linux基础课8
的容器应当将其删掉,因为容器开放的端口不能重复
- 进入容器新建非根用户
1 2 3 |
docker attach django_server adduser acs usermod -aG sudo acs |
- 退出并挂起容器
crtl-p + crtl-q
- 配置免密登录
1 |
ssh-copy-id django |
- 配置容器中的
tmux
和vim
1 |
scp .bashrc .vimrc .tmux.conf django: |
2.配置 git 环境
详见 Linux 基础课
此处不再赘述
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
ssh-key-gen git config --global user.name "Logic shao" git config --global user.email "1712207189@qq.com" vim README.md git add . git commit -m "The beginning of an epic masterpiece!!!" git remote add origin git@git.acwing.com:syf/djangoclass.git git push --set-upstream origin master vim .gitignore |
3.配置 django
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
django-admin --version # 检测 django django-admin startproject acapp # 新建 acapp 项目 python3 manage.py runserver 0.0.0.0:8000 # 启动项目 # 修改 <code>acapp/acapp/settings.py</code> 文件 ALLOWED_HOSTS = ["xxx.xxx.xxx.xxx"] python3 manage.py startapp game # 新建 app python3 manage.py createsuperuser # 新建管理员 # 创建需要的文件 touch urls.py mkdir templates # 修改 view.py urls.py 文件 |
2.创建菜单界面
1.项目架构设计
项目系统设计
menu
: 菜单页面playground
: 游戏界面settings
: 设置界面
项目文件结构:
templates
目录:管理html
文件urls
目录:管理路由,即链接与函数的对应关系views
目录:管理http
函数models
目录:管理数据库数据static
目录:管理静态文件,比如:css
:对象的格式,比如位置、长宽、颜色、背景、字体大小等js
:对象的逻辑,比如对象的创建与销毁、事件函数、移动、变色等image
:图片audio
:声音- …
consumers
目录:管理websocket
函数
django_init.sh
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
#! /bin/bash p=/home/acs/acapp cd ${p}/game && rm urls.py views.py models.py && mkdir urls views models static # 其中 urls,views,models 是 python 文件 # 如需 <code>import</code>, 则需要创建 <code>__init__.py</code> 文件 # 否则就会报错 for i in urls views models do cd ${p}/game/$i && touch __init__.py && mkdir menu playground settings done # 创建静态文件目录 cd ${p}/game/static && mkdir css js image cd ${p}/game/static/image && mkdir menu playground settings # 下载图片 cd ${p}/game/static/image/menu wget --output-document=background.gif https://gimg2.baidu.com/image_search/src=http%3A%2F%2Finews.gtimg.com%2Fnewsapp_match%2F0%2F11156556256%2F0.jpg&refer=http%3A%2F%2Finews.gtimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg rm wget-log # 图片路由在这 http://1.116.161.41:8000/static/image/menu/background.gif # 创建 css 文件 cd ${p}/game/static/css/ && touch game.css # 创建 js 文件 cd ${p}/game/static/js && mkdir dist src cd src && mkdir menu playground settings # dist 存最终运行的 js 文件 # src 存所有 js 文件 # 创建压缩脚本 cd ${p} && mkdir scripts && cd scripts && mkdir compress_game_js.sh cd ${p}/templates/ && mkdir menu playground settings multiends cd multiends && vim web.html cd ${p}/game/views && vim index.py |
2.基本设置
修改 acapp/acapp/settings.py
文件
- 修改时区为上海
1 |
TIME_ZONE = 'Asia/Shanghai' |
- 添加
acapp
到django
项目
1 2 3 4 5 6 7 8 9 10 11 |
# Application definition INSTALLED_APPS = [ 'game.apps.GameConfig', # 加上这个 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ] |
- 添加静态文件
1 2 3 4 5 |
STATIC_ROOT = os.path.join(BASE_DIR, 'static') STATIC_URL = '/static/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') MEDIA_URL = '/media/' |
3.创建游戏界面
这节课主要是 js
内容,笔记以后有时间再补
4.部署nginx与对接acapp
具体步骤参见 y总讲义
5.创建账号系统
1.用户名密码登录
笔记以后有时间再补
发表回复