日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Django:学习笔记(2)——创建第一个应用

發布時間:2023/12/18 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Django:学习笔记(2)——创建第一个应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Django:學習筆記(2)——創建第一個應用

創建應用

  在 Django 中,每一個應用都是一個 Python 包,并且遵循著相同的約定。Django 自帶一個工具,可以幫你生成應用的基礎目錄結構,這樣你就能專心寫代碼,而不是創建目錄了。

  我們可以執行如下命令,來創建myweb應用。

python manager.py startapp myweb

  執行結束后,python為我們的項目創建好了一個遵循約定的目錄結構

  

注意:我們做一個區分,我們使用django-admin startproject創建后生成的目錄為項目目錄,應用目錄是創建在項目目錄內的,項目目錄內同時包含了一個和項目同名的目錄,我們叫項目源目錄,后文不在贅述。

創建第一個視圖

  我們在目錄中的views.py文件里,寫入第一個視圖,Hello World

from django.http import HttpResponsedef index(request):return HttpResponse("Hello World!")

  視圖有了,我們還需要一個URL來映射到它,我們需要在該目錄下創建一個urls.py文件

from django.conf.urls import url,includefrom . import viewsurlpatterns = [url('', views.index, name='index'), ]

  下一步是要在根 URLconf 文件中指定我們創建的?myweb.urls?模塊。在項目源目錄urls.py?文件的?urlpatterns?列表里插入一個?include(), 如下:

from django.conf.urls import url,include from django.contrib import adminurlpatterns = [url('web/',include('myweb.urls')),url(r'^admin/', admin.site.urls) ]

  現在我們已經可以通過訪問/web路徑,得到hello,world結果,效果如下圖:

  

創建第一個模型

  在 Django 里寫一個數據庫驅動的 Web 應用的第一步是定義模型 - 也就是數據庫結構設計。

說明:

  模型是真實數據的簡單明確的描述。它包含了儲存的數據所必要的字段和行為。Django 遵循?DRY Principle?。它的目標是你只需要定義數據模型,然后其它的雜七雜八代碼你都不用關心,它們會自動從模型生成。

  我們現在做一個用戶登錄的例子,首先我們需要定義用戶信息模型。

# 定義一個用戶信息 class User(models.Model):username = models.CharField(max_length=16)password = models.CharField(max_length=16)gender = models.CharField()mail = models.EmailField()

  代碼非常直白。模型被表示為?django.db.models.Model?類的子類。每個模型有一些類變量,它們都表示模型里的一個數據庫字段。

  每個字段都是?Field?類的實例 - 比如,字符字段被表示為?CharField?,日期時間字段被表示為?DateTimeField?。這將告訴 Django 每個字段要處理的數據類型。每個?Field?類實例變量的名字也是字段名,所以最好使用對機器友好的格式。你將會在 Python 代碼里使用它們,而數據庫會將它們作為列名。

注意:我們可以使用?ForeignKey?定義了一個關系。這將告訴 Django,每個?Choice?對象都關聯到一個?Question?對象。Django 支持所有常用的數據庫關系:多對一、多對多和一對一,我們將在后面文章補充這部分內容

激活模型

  上面我們創建一個用戶模型,它給了 Django 很多信息,通過這些信息,Django 可以為這個應用創建數據庫表結構(生成?CREATE?TABLE?語句),同時創建可以與User對象進行交互的 Python 數據庫 API。但在這之前,我們需要做一些操作。

把應用安裝到項目

  但是首先得把myweb?應用安裝到我們的項目里。為了在我們的工程中包含這個應用,我們需要在項目源目錄的setting.py中的?INSTALLED_APPS?中添加設置。因為?MyWebConfig?類寫在文件?myweb/apps.py?中,所以它的點式路徑是?'myweb.apps.MyWebConfig'。如下圖所示:

將模型同步到數據庫

  我們的模型創建好了以后,我們需要執行一些方法,告知django將我們寫好的user模型同步到數據庫中,即創建相應的表結構。

  我們需要執行一次數據遷移,通過運行?makemigrations?命令,Django 會檢測你對模型文件的修改(在這種情況下,你已經取得了新的),并且把修改的部分儲存為一次?遷移,這一點很像Git,但是記住它只是記錄一下你的修改操作而已。

django會在我們應用的migrations下創建遷移文件。

接著,我們再運行migrate命令,在數據庫里創建新定義的模型的數據表。

python manage.py migrate

?說明:我們也可以通過遷移文件,來查看會執行哪些SQL命令。

python manage.py sqlmigrate myweb 0001

  總之,我們在修改模型后,需要執行兩步操作來將新的模型同步到數據庫中。

  

實踐:實現用戶注冊

  首先,我們還是要回顧一下這篇文章的內容,我們知道了如何創建一個視圖以及設置URL映射、如何創建一個模型并且同步到數據庫中,現在我們來實踐一下實現用戶注冊。

  在視圖的處理中,我們可以做任何事情,并且返回任何我們需要反饋的信息。首先在想要獲取到用戶的請求信息,它們都被保存在request.GET和request.POST這兩個字典中。

[文件:myweb/views.py] def addUser(request):# 創建用戶對象user = User()# 獲取請求數據user.username = request.GET['username'];user.password = request.GET['password'];# 保存user.save();return HttpResponse('<p>用戶添加成功</p>');

  接著,我們在應用的urls.py中添加URL映射關系

[文件:myweb/urls.py] urlpatterns = [url("add",views.addUser) ]

  按照GET方式,我們在訪問時,需要在URL中拼接請求信息,如下

  

  至此,我們的第一個實踐內容結束,我們完成了一個獲取用戶請求信息,并調用模型內置方法將數據保存到數據庫。

?

轉載于:https://www.cnblogs.com/MrSaver/p/10374584.html

總結

以上是生活随笔為你收集整理的Django:学习笔记(2)——创建第一个应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。