Django 3.2 開發web專案
- 開發環境
- Django安裝
- Django檔案
- Django創建
- Django啟動
- Django目錄介紹
- Django創建自己的應用
- CODE IS ALL YOU NEED
- 無資料庫
- 有資料庫(含html頁面的展示)
- 原始碼鏈接
- 吐槽一下
開發環境
系統:window 10
Python版本:Python 3.8
Django版本: 3.2.8
IDE:PyCharm 20

Django安裝
one code is ok! pip install django
神奇的python就是這么神奇,多想一秒都是對pip的不信任,pip就完事!

Django檔案
想要進一步學習關于Django框架更多知識的大佬請移步官方檔案:
傳送門:https://docs.djangoproject.com/zh-hans/3.2/
ps:Django官方檔案提供了 你所需要知道的關于Django的一切



Django創建
- 在PyCharm中創建一個目錄用來存放Django專案,我這里創建了一個子目錄用來存放本次的django專案:

- 從你需要存放django專案的目錄打開終端(兩種方式:cmd或者pycharm自帶的終端Terminal),一般來說,pycharm的自帶終端就非常的好用,點一下就行,實惠且方便! 所以,我使用了看起來更能裝的cmd,輸入命令:
django-admin startproject mysite
那么一個Django專案就創建成功了

Django啟動
一個簡單的Django專案到這里就已經全部創建完成了,這個時候我們啟動一下看看效果,首先進入到manage.py所在檔案的目錄,使用命令:python manage.py runserver啟動Django服務器

在瀏覽器輸入 http://127.0.0.1:8000/, 就可以看到官方所說的小火箭啦

也就是:

Django目錄介紹
官方解釋:

我:

Django創建自己的應用
在命令列輸入 python manage.py startapp my_page就可以創建一個自己的應用 my_page
結構:
- my_page
- migrations
- init.py
- init.py
- admin.py
- apps.py
- models.py
- tests.py
- views.py
- migrations
簡單介紹一下幾個比較常用的檔案:
- view.py 這個檔案簡單理解為視圖層(有過web開發經驗的小伙伴應該十分清楚),它的功能簡單來說就是前端和后端的一個互動
- model.py 定義模型,那么這個檔案是什么呢?盡可能往簡單了說,python也是面向物件編程(絕對不是面向第三方庫編程哈),那么當你需要創建一個物件的時候(可以理解為將這個物件映射到你資料庫中的某一張表,沒有學過資料庫的就當new個物件玩玩),就是它了!
- admin.py 這個檔案是一個站點配置的檔案,當我們定義了一個模型就需要配置一下
CODE IS ALL YOU NEED
效果展示:

沒啥好說的,直接上代碼
無資料庫
- 打開view.py,輸入:
from django.http import HttpResponse
def hello_world(request):
return HttpResponse("hello world! Who is moving bricks now ?")
- 在my_page目錄下新建urls.py檔案,配置路由這一步非常重要!!!輸入:
from django.urls import path
from . import views #這是匯入剛才撰寫的試圖層檔案
urlpatterns = [
path("hello_world!", views.hello_world),
]
- 打開mysite目錄下的setting.py檔案,找到**# application definition** 在INSTALLED_APPS中添加:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'my_page.apps.MyPageConfig' # 這是我們需要添加的內容
]
- 打開mysite目錄下的urls.py檔案,配置應用路由,非常重要!!!
from django.contrib import admin
from django.urls import path, include # 匯入nclude
urlpatterns = [
path('admin/', admin.site.urls),
path('my_page/', include("my_page.urls")) # 配置應用路由
]
- 啟動服務器
python manage.py runserver在瀏覽器中打開http://127.0.0.1:8000/my_page/hello_world ,就可以看見效果了:

有資料庫(含html頁面的展示)
Django非常的人性化,給我們提供了一個自帶的默認的Sqlite資料庫,這個資料庫怎么樣我也不知道,但是用起來還是很舒服的,

- 打開model.py,新建一個打工人物件
from django.db import models
class moveBricker(models.Model):
moveBricker_id = models.AutoField(primary_key=True) # 主鍵自增
moveBricker_name = models.TextField() # 字串型別的變數
moveBricker_house = models.TextField()
moveBricker_car = models.TextField()
moveBricker_life = models.TextField()
def __str__(self):
return self.moveBricker_name
- 打開admin.py,寫入:
from django.contrib import admin
from .models import MoveBricker
admin.site.register(MoveBricker)
- 檢查一下mysite目錄下的setting.py,如果和我下圖的不一致,那么有可能會出現問題!!!

- 在命令列輸入python manage.py makemigrations生成遷移檔案和python manage.py migrate執行遷移,
- 注冊admin管理員賬號,在命令列輸入python manage.py createsuperuser,輸入用戶名,郵箱和密碼,郵箱可選,

- 啟動服務器,打開網址: http://127.0.0.1:8000/admin/ , 輸入賬號密碼,就會進入Django默認創建的一個后臺管理的頁面,非常香!一個小小的課設就解決了!!!

- 點開Move brickers ,欸~ 神奇的django sqlite就是這么神奇!接下來讓我們手動添加兩條資料!


- 打開view.py,添加如下代碼:
from . import models
...
def get_moveBricker(request):
all_moveBricker = models.MoveBricker.objects.all()
name1 = all_moveBricker[0].moveBricker_name
house1 = all_moveBricker[0].moveBricker_house
car1 = all_moveBricker[0].moveBricker_car
id1 = all_moveBricker[0].moveBricker_id
name2 = all_moveBricker[1].moveBricker_name
house2 = all_moveBricker[1].moveBricker_house
car2 = all_moveBricker[1].moveBricker_car
id2 = all_moveBricker[1].moveBricker_id
return_str = "id:%s, name:%s, house:%s, car:%s;" % (id1, name1, house1, car1) \
+ "id:%s, name:%s, house:%s, car:%s" % (id2, name2, house2, car2)
return HttpResponse(return_str)
- 在my_page目錄下的urls.py檔案配置路由
urlpatterns = [
path("hello_world", views.hello_world), # 已經配置過了的
path("get_moveBricker", views.get_moveBricker) # 新配置的路由
]
-
啟動服務器
python manage.py runserver在瀏覽器中打開http://127.0.0.1:8000/my_page/get_moveBricker ,


-
這種方式真的是蠢死了,而且非常不方便,那么怎么才能舒服一下呢,那么接下來就引入我們的html頁面了,
-
在my_page目錄下新建templates,在templates下新建my_page目錄,然后在my_page里面新建一個html檔案,有點繞,上圖

-
在get_moveBricker.html撰寫代碼
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>get_moveBricker</title>
</head>
<body>
{% for move_bricker in move_brickers %}
<div>
<p>
id:{{ move_bricker.moveBricker_id }},
name:{{ move_bricker.moveBricker_name }},
house:{{ move_bricker.moveBricker_house }},
car:{{ move_bricker.moveBricker_car }};
</p>
</div>
{% endfor %}
</body>
</html>
這是一個回圈代碼,一眼就能看明白,無非就是語法的問題,其他的知識也與本次分享的Django框架的技術無法所以不多說
- 在view.py檔案中新建一個方法,然后配置路由:
def get_moveBricker_list(request):
all_moveBricker = models.MoveBricker.objects.all()
return render(request, "my_page/get_moveBricker.html", {
"move_brickers": all_moveBricker
})
urlpatterns = [
path("hello_world", views.hello_world),
path("get_moveBricker", views.get_moveBricker),
path("get_moveBricker_list", views.get_moveBricker_list) #這是新配置的路由
]
-
又到了激動人心的啟動服務器的時刻,不過要注意的是,本次訪問的地址是 :http://127.0.0.1:8000/my_page/get_moveBricker_list ,


-
收工干飯!!!

原始碼鏈接
鏈接:https://pan.baidu.com/s/1byeYl4DmaNTDqFV89v2YSw
提取碼:pqt9
吐槽一下
實驗室都是python的深度學習專案,于是想著用python做一個網站玩玩,逛了一圈,看了很多大佬的博客,寫的非常好!!!有些博客中的內容已經隨著版本的更迭,可能無法運行起來了,又因為實驗室專案的需求發現CS的架構比BS架構更香,于是學了一圈,發現又要去學新的技術啦!,就把自己學習Django3.2的程序記錄了下來,希望能夠幫助到有需要的小伙伴,祝搬磚的路上一切順利!!!

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/332096.html
標籤:python
上一篇:大佬們的書單|速來薅羊毛了!
