这里是 Django框架课
的学习笔记
项目地址在 这里
配置好环境的网址在 这里
1.准备工作
1.配置 docker
防止 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
| deb 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 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
|
- 在云服务器上安装
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
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
|
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
| 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-admin startproject acapp
python3 manage.py runserver 0.0.0.0:8000
ALLOWED_HOSTS = ["xxx.xxx.xxx.xxx"]
python3 manage.py startapp game
python3 manage.py createsuperuser
touch urls.py mkdir templates
|
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
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
cd ${p}/game/static/css/ && touch game.css
cd ${p}/game/static/js && mkdir dist src cd src && mkdir menu playground settings
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'
|
1 2 3 4 5 6 7 8 9 10 11
|
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.用户名密码登录
笔记以后有时间再补
2.web端AcWing授权登录
3.acapp端AcWing授权登录
6.实现联机对战
7.实现聊天系统
8.实现匹配系统