搭建docker环境
先把 django
镜像 scp
到服务器
scp /var/lib/acwing/docker/images/django_lesson_1_0.tar django:
再登进去服务器把镜像载入
docker load -i django_lesson_1_0.tar
运行并创建一个容器(注意如果以前有 docker
容器必须要先删除,因为占用了 20000
端口)
docker run -p 20000:22 -p 8000:8000 --name django_server -itd django_lesson:1.0
8000
端口是开放 HTTP
,22
端口是开放 ssh
然后常规地分配一个新的用户 acs
再返回 AC terminal 把 ssh
免密登录和 tmux
配置一下
项目创建
先打开 tmux
避免意外
创建一个名叫 acapp
的 django
项目
django-admin startproject acapp
先用 git
维护起来,git init
初始化 git
,再使用 ssh-keygen
命令生成密钥
cd
到 .ssh/
cat
一下 id_rsa.pub
,把公钥传到 acgit
服务器上去(偏好设置->SSH密钥->添加密钥)
我们再去 acgit
上创建一个新项目,根据提示输入两条指令
git config --global user.name xxx
git config --global user.email xxx@xxx.com
把项目传到 git
上去
git add .
git commit -m "start"
git remote add origin git@git.acwing.com:xxx/XXX.git
git push --set-upstream origin master
运行下面命令使我们的项目跑起来
pyhton3 manage.py runserver 0.0.0.0:8000
但此时我们进不去我们的网页,这是因为我们的 ip
并没有允许访问,所以要打开 acapp/acapp/settings.py
在 ALLOWED_HOSTS=[]
列表添加自己的 ip
(用字符串形式)。保存之后就可以正常打开了。
这时再上传到 git
,用 git status
看一下发现多了一个 __pycache__
文件,他是一个 python
预编译好的文件,是为了加速 python
运行的,而不是源代码,所以不能在 git
上传这种中间文件。
小技巧:
可以在 git
仓库的根目录下创建一个 .gitignore
文件,在里面添加
*/__pycache
就可以无视这种文件添加到 git
了
我们不能直接在 django
默认的网页开发,django
是以 app
的形式来显示的,所以要创建一个新的 app
,这里起名为 game
python3 manage.py startapp game
为了进入管理员页面,要先同步一下数据库
python3 manage.py migrate
然后在网页后加 /admin
就可以进入管理员页面了
创建管理员账号:
python3 manage.py createsuperuser
最关键的四个东西:
先创建 urls
和 templates
touch urls.py
mkdir templates
models |
存各种 class |
---|---|
views |
存各种函数 |
urls |
存路由(地址调用哪个函数) |
templates |
存 html |
先在 views.py
写一个简单的函数
from django.http import HttpResponse
def index(resquest):
return HttpResponse("我的第一个网页!!!!")
在 urls.py
里写
from django.urls import path
from game.views import index # 导入 game/views.py 里的 index 函数
urlpatterns = [
path('', index, name = 'game_index')
]
这样就会在用户访问根路径中调用 index
函数 名字为 game_index
但是还需要在总的 urls.py
加进去
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('', include('game.urls')),
path('admin/', admin.site.urls)
]
这样就写好了我的第一个网页