程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Acwing-Django框架課 配置docker、git環境與項目創建

編輯:Python

更好的閱讀體驗

Python3 基礎

Python3官方Tutorial

配置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創建項目
[email protected]:~$ django-admin --version
3.2.8
[email protected]:~$ django-admin startproject acapp
[email protected]:~$ 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 [email protected]: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

[email protected]:~$ 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目錄下的各個文件作用

  1. urls.py:Django 路由在 urls.py 配置,urls.py 中的每一條配置對應相應的處理方法。
    路由簡單的來說就是根據用戶請求的 URL 鏈接來判斷對應的處理程序,並返回處理結果,也就是 URL 與 Django 的視圖建立映射關系。
  2. views.py:一個視圖函數,簡稱視圖,是一個簡單的 Python 函數,它接受 Web 請求並且返回 Web 響應。
    響應可以是一個 HTML 頁面、一個 404 錯誤頁面、重定向頁面、XML 文檔、或者一張圖片…
    無論視圖本身包含什麼邏輯,都要返回響應。代碼寫在哪裡都可以,只要在 Python 目錄下面,一般放在項目的 views.py 文件中。
    每個視圖函數都負責返回一個 HttpResponse 對象,對象中包含生成的響應。
    視圖層中有兩個重要的對象:請求對象(request)與響應對象(HttpResponse)。
  3. templates目錄:管理 html 文件
  4. models 目錄:管理數據庫數據

編寫視圖界面

game.views:

from django.http import HttpResponse
def index(request):
line1 = '<h1 > 第一個網頁 </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頁面展示

打開網頁輸入對應地址可得如下頁面


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved