文章目錄
1介紹
Django服務器裏有三個,服務器服務的軟件就是Nginx。我們發出信息後,會到Django中解析,通過Model讀寫數據庫,最後生成一個template進行渲染。
環境準備
這裏我會嘗試用vscode和python 3.7 環境在anaconda中安裝
2開始任務
在新建的django(名字可隨意空的就好)中通過控制檯輸入
django-admin startproject mainproject
cd mainproject/
可以看到生成的目錄
此時再輸入
python manage.py startapp firstWEB
新建完如下,新建一個templates空文件夾
在下圖中如果你希望內網訪問,第一個框填這些,不然就空
第二個加入你剛剛寫的app的名字
數據庫,django還沒正式運行,第一次運行就會創建
用戶密碼驗證的部分
這裏修改語言和時區,最下面有放靜態文件的地址
2.1問題manage.py-file does not exist
然後運行manage.py一直報錯
在這裏發現launch.josh定位到了Django文件夾卻沒有到我們實際的main.project文件夾,這主要是vscode打開文件夾位置錯了,應該打開mainproject,同時用命令行該是沒有用的
改完後運行效果如下
打開上面網址
http://127.0.0.1:8000/
即可登入
3做第一個網站
1首先修改url,其中第一個參數使你訪問地址,第二個是你要調用的映射view裏的文件
2在views裏寫功能
這是調用html渲染到前端瀏覽器
3寫完的功能需要調用
在urls.py中
在這裏實驗成功
但是如果像之前一樣到這個頁面就失敗了
在vscode中也有如圖的文本,沒訪問一次就增加一條,這就是所謂的log
將path改爲空,則會主頁面就顯示index
4做加減乘除的頁面
和之前相似在views中創建Calpage
創建html
在url中添加路徑
演示結果
做的有點差修改下html文件
添加一個函數來做具體計算的功能,在這裏也要渲染出一個界面
所以還要再建一個result.html,在後臺做好數據後,渲染模板時候順手把context返回給result模板
建立一個路由
這裏action後需要也加/
Django中有個設定防止你跨域來請求,比如我做了一個爬蟲,我直接向form的action請求,如果python做個腳本大量發送,數據庫就被髮爆了。這裏需要一個驗證{% csrf_token %}
全部改好後效果
![在這裏插入圖片描述](https://img-blog.csdnimg.cn/20200219224551658.png
5數據庫
我們每張表要做個類繼承model。cal是第一張表 。
給vscode安裝插件,這裏安裝
然後會出來數據庫頁面,我們可以加數據庫了
這裏有些做不下去了sql一直失敗,說我缺少npm,發現要先裝node.js然後下載一個包然後就可以用這個插件讀取數據庫了
首先在命令行中輸入python manage.py makmigration
效果
在輸入python manage.py migrate
可以查看數據庫
要保存數據到數據庫先修改views,在這裏要調用models.py在sys的下級文件,同時要有下圖保存數據庫的文件
此時重啓觀看
6打印數據庫存放頁面
1建立list.html頁面
2建立views函數
3建立路由
運行進入list頁面
清庫功能
1先添加清庫按鍵
2寫控制,在這裏做個簡便快速的,用了HttpResponse功能
3寫路由
在這裏運行效果
如果直接通過url訪問計算結果的異常處理
如此情況我們不需要,因此,在post訪問時出結果,不然的話給通知