網(wǎng)站開發(fā)高中信息技術(shù)學(xué)業(yè)水平考試復(fù)習(xí)之用的方法(組圖)c#開發(fā),程序網(wǎng)站
2022-09-04
我寫了一個(gè)網(wǎng)站,供信息技術(shù)班的學(xué)生使用?,F(xiàn)在我把整個(gè)過程寫成教程并展示出來??匆恍┙貓D:
編程練習(xí)
代碼編譯接口
知識(shí)測(cè)試界面
這個(gè)網(wǎng)站是0.10seo優(yōu)化,用來完成它。編程題使用 /。網(wǎng)站試題來自卓凡、百日沖刺以及科教高中信息技術(shù)教材中的部分內(nèi)容。我要表達(dá)我的謝意!
一、配置網(wǎng)站開發(fā)環(huán)境
對(duì)于本教程,新配置了開發(fā)環(huán)境,并重新分叉了整個(gè)網(wǎng)站。
在/home/下創(chuàng)建文件夾,創(chuàng)建歸屬用戶名為wuxc的虛擬環(huán)境,命名為-,指定激活虛擬環(huán)境的版本-,pip或 使用pip list或list查看/home/下安裝的庫(kù)使用- 創(chuàng)建一個(gè)網(wǎng)站項(xiàng)目。項(xiàng)目名和文件夾名都是項(xiàng)目下的新應(yīng)用 /home///- 使用tree終端命令查看目錄結(jié)構(gòu)和文件列表
流程如下,省略:
開發(fā)環(huán)境配置
開發(fā)環(huán)境配置續(xù)
項(xiàng)目文件夾下有一個(gè)同名的子文件夾,我們稱之為主應(yīng)用程序,里面包含全局參數(shù)設(shè)置文件.py、全局路由文件urls.py、網(wǎng)關(guān)接口文件。您可以選擇 asgi.py 或 wsgi.py 之一;項(xiàng)目目錄下的.py文件是整個(gè)項(xiàng)目的入口,配置文件中有一行:='.wsgi.' 指定 wsgi 的使用。
我打算在主應(yīng)用中加入.py和.py,把網(wǎng)站的首頁(yè)和登錄功能放進(jìn)去,把網(wǎng)站的所有數(shù)據(jù)庫(kù)模型都放進(jìn)去,供其他應(yīng)用調(diào)用。
應(yīng)用(app)是一種管理代碼的方式網(wǎng)站開發(fā),它對(duì)應(yīng)一個(gè)文件夾,用于管理整個(gè)項(xiàng)目的功能分類和MTV模式實(shí)現(xiàn)。使用-命令創(chuàng)建一個(gè)應(yīng)用程序(app)網(wǎng)站開發(fā),在應(yīng)用程序中實(shí)現(xiàn)在線代碼編輯器功能,代碼執(zhí)行由后端編譯執(zhí)行,結(jié)果返回給前端。本網(wǎng)站用于為高中信息技術(shù)學(xué)術(shù)能力測(cè)試提供統(tǒng)一的編程環(huán)境和復(fù)習(xí)。主應(yīng)用程序和應(yīng)用程序的目錄結(jié)構(gòu)如下:
網(wǎng)站目錄結(jié)構(gòu)
[?la??t?i?]小程序開發(fā),[?ɑ?m?nd] ,選擇水果名稱作為目錄名稱,因?yàn)樗?jiǎn)短易記。因?yàn)榈谝粋€(gè)字母是a,所以主應(yīng)用顯示在最前面,使用方便。
二、實(shí)現(xiàn):
打開項(xiàng)目文件夾/home//,以下說明以項(xiàng)目文件夾為當(dāng)前目錄,
點(diǎn)擊左下角替換解釋器,選擇虛擬環(huán)境-,重啟生效:
開發(fā)網(wǎng)站
在文件中新建一個(gè).py文件,在里面寫一個(gè)view函數(shù),在urls.py文件中導(dǎo)入這個(gè)view,添加兩行路由地址:
// almond/views.py
from django.shortcuts import render, HttpResponse
def default(request):
return HttpResponse("Hello world!!!") //把字符串作為回應(yīng)返回到瀏覽器
// almond/urls.py
from django.urls import path, re_path
// 導(dǎo)入視圖模塊
import almond.views as tv
urlpatterns = [
path('admin/', admin.site.urls), // 系統(tǒng)自動(dòng)產(chǎn)生,后臺(tái)管理的,請(qǐng)要是庫(kù)的CRUD
// 添加兩行路由地址
re_path(r'^#39;, tv.default, name='top'), // http://127.0.0.1:8000 訪問
path('index/', tv.default, name='index'), // http://127.0.0.1:8000/index 訪問
]
在終端中啟動(dòng)服務(wù)(也在系統(tǒng)終端中):
conda activate lichee-django
cd /home/lichee/almond
python manage.py runserver
網(wǎng)頁(yè)可以在瀏覽器中打開。視圖可以是類的函數(shù)或方法,具有以下效果:
網(wǎng)站啟動(dòng)命令
三、初步了解MTV模型
作為網(wǎng)站開發(fā)的框架,使用的是MTV模式,如下圖(來自網(wǎng)絡(luò))
音樂電視模式
剛才用('')返回前端。現(xiàn)在改進(jìn)一下,創(chuàng)建模板文件.html,在視圖中渲染()函數(shù)返回前端。這是體現(xiàn) MTV 模式下前后端代碼分離的基本行為。
在項(xiàng)目目錄中創(chuàng)建一個(gè)模板文件夾,并在其中創(chuàng)建一個(gè)新文件 .html。
在主應(yīng)用的幾個(gè)地方修改.py:
//almond/settings.py
INSTALLED_APPS = [ //注冊(cè)應(yīng)用,實(shí)際是讓項(xiàng)目能找到 對(duì)應(yīng)的文件夾
......
'almond', //注冊(cè)主應(yīng)用,因?yàn)樵谄渌麘?yīng)用中 調(diào)用 主應(yīng)用中 視圖和模型
//其他書籍和教程都沒這么用,我嘗試了是可以的
'webcoding', //注冊(cè) 在線編程應(yīng)用,后續(xù)還要添加更多的應(yīng)用
]
#模板文件夾
TEMPLATES = [{
......
// 模板文件夾 almond/templates
'DIRS': [ BASE_DIR/'templates' ], //BASE_DIR是項(xiàng)目文件夾的絕對(duì)路徑。
......
} ]
ALLOWED_HOSTS = [ '*' ] //指定IP地址,可以從其他機(jī)器訪問,'*'是任意的意 思,您的計(jì)算機(jī)可能在不同場(chǎng)合的ip不一樣,'*'就可以了。
//語(yǔ)言和時(shí)區(qū)
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
//創(chuàng)建并配置 靜態(tài)文件夾almond/statics,存放 css js img media等資源文件。
STATIC_URL = '/static/' //這個(gè)在html 或 瀏覽器中使用,名稱可自定義
STATICFILES_DIRS = [ BASE_DIR/'statics' ] //這個(gè)是實(shí)際位置
接下來修改/.py、/.html兩個(gè)文件:
// almond/views.py
from django.shortcuts import render, HttpResponse
class MainView():
def default(request):
myname = "wuxiaochun 吳曉春"
return render(request, 'index.html', {'name':myname})
這是首頁(yè)demo
Hello world !!!
I am {{name}}
指定要運(yùn)行的端口,效果如下:
網(wǎng)站性能
在視圖文件/.py中,變量通過()函數(shù)以字典的形式呈現(xiàn)給模板文件/.html,在.html中以模板語(yǔ)法{{變量名}}的形式展示。
函數(shù)中的第三個(gè)參數(shù)也可以用()代替。
上面MTV架構(gòu)圖中還有一個(gè)模型叫做,它是連接讀寫數(shù)據(jù)庫(kù)的中介,后面會(huì)介紹。第一堂課就到這里,如有不足請(qǐng)指正。