Python3 基础
配置Docker,git环境与项目创建
cd /var/lib/acwing/docker/images
scp django_lesson_1_0.tar ali:~/
#登陆自己的服务器
ssh ali
#加载镜像
docker load -i django_lesson_1_0.tar
#利用django_lesson镜像创建django_server容器
#将20000端口和8000端口映射为容器的22端口和8000端口
#22端口用于SSH连接,8000端口用于调试项目
docker run -p 20000:22 -p 8000:8000 --name django_server -itd django_lesson:1.0
#进入容器
docker attach django_server
#创建acs用户
adduser acs
#添加sudo权限
usermod -aG sudo acs
#修改root账户密码
passwd root
#将容器挂起,重启容器
<ctrl>-p,<ctrl>-q
docker restart django_server
配置ssh
连接别名
cd .ssh
vim config
添加如下内容
Host ali_dj
HostName xxx.xx.xx.xxx
User acs
Port 20000
ssh-copy-id ali_dj
可实现ssh免密连接docker容器
#将配置文件传到ali_dj上
scp .vimrc .tmux.conf ali_dj:~/
#进入acs用户
ssh ali_dj
#使用django-admin创建项目
acs@711094ab2a79:~$ django-admin --version
3.2.8
acs@711094ab2a79:~$ django-admin startproject acapp
acs@711094ab2a79:~$ tree .
.
└── acapp
├── acapp
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
2 directories, 6 files
配置git环境
#生成密钥
ssh-keygen
#将公钥复制到gitlab上
cat .ssh/id_rsa.pub
#全局配置
cd acapp
git init
git config --global user.name "username"
git config --global user.email "useremail"
git remote add origin git@git.acwing.com:Misaka_9982/acapp.git
git add .
git commit -m "Initial commit"
git push --set-upstream origin master
设置Django配置
启动项目
python3 manage.py runserver 0.0.0.0:8000
使用ag命令找到ALLOWED_HOSTS
acs@711094ab2a79:~$ ag ALLOWED_HOSTS
acapp/acapp/settings.py
28:ALLOWED_HOSTS = []
#进入该文件,将服务器ip地址添加进去
ALLOWED_HOSTS = ["xxx.xx.xx.xxx"]
出现如下界面
命令行中出现如下提示:
按照提示进行操作
python3 manage.py migrate
在使用git 的过程中发现将python的编译文件 .pyc 文件都添加进了git的缓存区之中,如图
git add .
git status
使用命令将编译文件删除
git rm --cache *.pyc
编写.gitignore
文件,以后都忽视这些编译文件
~/acapp$ vim .gitignore
# 格式:**/文件名
**/__pycache__
*.swp
创建管理员用户
在ip:port
后面加上/admin
即可看到下图所示界面
# 创建超级用户
python3 manage.py createsuperuser
在网址中登陆可见如下界面
创建一个Django app
python3 manage.py startapp game
tree .
game
目录下的各个文件作用
urls.py
:Django 路由在 urls.py 配置,urls.py 中的每一条配置对应相应的处理方法。
路由简单的来说就是根据用户请求的 URL 链接来判断对应的处理程序,并返回处理结果,也就是 URL 与 Django 的视图建立映射关系。views.py
:一个视图函数,简称视图,是一个简单的 Python 函数,它接受 Web 请求并且返回 Web 响应。
响应可以是一个 HTML 页面、一个 404 错误页面、重定向页面、XML 文档、或者一张图片…
无论视图本身包含什么逻辑,都要返回响应。代码写在哪里都可以,只要在 Python 目录下面,一般放在项目的 views.py 文件中。
每个视图函数都负责返回一个 HttpResponse 对象,对象中包含生成的响应。
视图层中有两个重要的对象:请求对象(request)与响应对象(HttpResponse)。templates
目录:管理html
文件models
目录:管理数据库数据
编写视图界面
game.views
:
from django.http import HttpResponse
def index(request):
line1 = '<h1 style="text-align: center"> 第一个网页 </h1>'
return HttpResponse(line1)
game.urls
:
from django.urls import path
from game.views import index
urlpatterns = [
path("", index, name="index"),
]
acapp.urls
:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('', include('game.urls')),
path('admin/', admin.site.urls),
]
路由重定向路径:
浏览器URL网址输入
-> acapp.urls
-> game.urls
-> game.views.index
-> views页面展示
打开网页输入对应地址可得如下页面