Python核心技術,Django學習基礎入門教程(附環境安裝包)

文章目錄

  • 前言
  • 1. 環境準備
    • 1.1Python安裝
    • 1.2選擇Python開發環境
    • 1.3 創建虛擬環境
    • 1.4 安裝 Django
  • 2. 創建 Django 項目
  • 3. Django項目結構介紹
  • 4. 啟動開發服務器
  • 5. 創建 Django 應用
  • 6. 應用結構介紹
  • 7. 編寫視圖函數
  • 8. 配置 URL 映射
  • 9. 運行項目并訪問視圖
  • 10. 數據庫配置與模型創建
    • 10.1 數據庫配置
    • 10.2 創建模型
  • 11. 使用 Django 管理界面
    • 11.1 創建超級用戶
    • 11.2 注冊模型到管理界面
  • 11.3 訪問管理界面
  • 12. 模板與視圖結合
    • 12.1 創建模板目錄
    • 12.2 修改視圖函數
    • 12.3 訪問模板頁面


前言

Django 是一個高級 Python Web 框架,它遵循 MVC(Model - View - Controller)架構模式的變種 MVT(Model - View - Template),可以幫助開發者快速構建安全且可擴展的網站。以下是一份 Python Django 學習基礎入門教程。


1. 環境準備

1.1Python安裝

訪問 Python 官方網站,根據你的操作系統(Windows、Mac 或 Linux)下載并安裝 Python 3.x 版本。安裝時勾選 “Add Python to PATH”,方便在命令行中使用 Python。

Python 3.7安裝教程:https://blog.csdn.net/u014164303/article/details/145620847
Python 3.9安裝教程:https://blog.csdn.net/u014164303/article/details/145570561
Python 3.11安裝教程:https://blog.csdn.net/u014164303/article/details/145549489

Python 3.7下載地址:https://pan.quark.cn/s/8268bf81f31f
Python 3.9下載地址:https://pan.quark.cn/s/9711a93276ad
Python 3.11下載地址:https://pan.quark.cn/s/9c44793cb24c

1.2選擇Python開發環境

PyCharm 社區版(免費)或專業版(需付費或申請教育版)。安裝完成后,打開 PyCharm,創建一個新的項目,在項目設置中選擇之前創建的虛擬環境作為項目的 Python 解釋器。PyCharm 功能強大,提供代碼自動補全、調試等功能,適合開發大型項目。

Pycharm安裝教程:https://blog.csdn.net/u014164303/article/details/145674773
PyCharm下載地址:https://pan.quark.cn/s/5756c8cf8b2a

1.3 創建虛擬環境

為了避免不同項目之間的依賴沖突,建議使用虛擬環境。在命令行中執行以下操作:

# 創建虛擬環境
python -m venv myenv# 激活虛擬環境(Windows)
myenv\Scripts\activate# 激活虛擬環境(Linux/Mac)
source myenv/bin/activate

1.4 安裝 Django

在激活的虛擬環境中,使用 pip 安裝 Django:

pip install django

2. 創建 Django 項目

在命令行中,使用以下命令創建一個新的 Django 項目:

django-admin startproject myproject

這將創建一個名為 myproject 的目錄,其中包含了 Django 項目的基本結構。進入項目目錄:

cd myproject

3. Django項目結構介紹

創建項目后,Django 會生成如下基本目錄結構:

myproject/
│
├── myproject/
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   ├── asgi.py
│   └── wsgi.py
└── manage.py
  • manage.py:一個命令行工具,用于與 Django 項目進行交互,例如啟動開發服務器、創建數據庫表等。
  • myproject/settings.py:項目的配置文件,包含數據庫連接、靜態文件路徑、中間件等配置信息。
  • myproject/urls.py:項目的 URL 配置文件,用于將 URL 映射到相應的視圖函數。
  • myproject/asgi.py:用于 ASGI 服務器的入口點,處理異步請求。
  • myproject/wsgi.py:用于 WSGI 服務器的入口點,處理同步請求。

4. 啟動開發服務器

在項目目錄下,運行以下命令啟動 Django 開發服務器:

python manage.py runserver

打開瀏覽器,訪問 http://127.0.0.1:8000,如果看到 Django 的歡迎頁面,說明項目已經成功啟動。

5. 創建 Django 應用

在 Django 中,項目可以包含多個應用,每個應用負責不同的功能。使用以下命令創建一個新的應用:

python manage.py startapp myapp

這將創建一個名為 myapp 的目錄,包含應用的基本結構。

6. 應用結構介紹

myapp 目錄的基本結構如下:

myapp/
│
├── __init__.py
├── admin.py
├── apps.py
├── migrations/
│   └── __init__.py
├── models.py
├── tests.py
└── views.py
  • models.py:定義應用的數據模型,與數據庫表對應。
  • views.py:定義處理請求并返回響應的視圖函數。
  • admin.py:用于配置 Django 自帶的管理界面。
  • tests.py:編寫應用的測試代碼。

7. 編寫視圖函數

打開 myapp/views.py 文件,編寫一個簡單的視圖函數:

from django.http import HttpResponsedef hello(request):return HttpResponse("Hello, Django!")

8. 配置 URL 映射

打開 myapp 目錄下的 urls.py 文件(如果沒有則創建),添加以下代碼:

from django.urls import path
from . import viewsurlpatterns = [path('hello/', views.hello, name='hello'),
]
然后在項目的 myproject/urls.py 文件中包含 myapp 的 URL 配置:
python
from django.contrib import admin
from django.urls import path, includeurlpatterns = [path('admin/', admin.site.urls),path('', include('myapp.urls')),
]

9. 運行項目并訪問視圖

確保開發服務器正在運行,如果沒有運行,使用 python manage.py runserver 啟動。打開瀏覽器,訪問 http://127.0.0.1:8000/hello/,你將看到頁面顯示 Hello, Django!。

10. 數據庫配置與模型創建

10.1 數據庫配置

打開 myproject/settings.py 文件,配置數據庫連接信息。默認情況下,Django 使用 SQLite 數據庫,如果你想使用其他數據庫(如 MySQL、PostgreSQL),需要進行相應的配置。

10.2 創建模型

在 myapp/models.py 文件中定義一個簡單的模型:

from django.db import modelsclass Book(models.Model):title = models.CharField(max_length=100)author = models.CharField(max_length=100)def __str__(self):return self.title

10.3 遷移數據庫
在命令行中執行以下命令創建數據庫表:

python manage.py makemigrations
python manage.py migrate

11. 使用 Django 管理界面

11.1 創建超級用戶

在命令行中執行以下命令創建超級用戶:
bash
python manage.py createsuperuser
按照提示輸入用戶名、郵箱和密碼。

11.2 注冊模型到管理界面

打開 myapp/admin.py 文件,注冊 Book 模型:

from django.contrib import admin
from .models import Bookadmin.site.register(Book)

11.3 訪問管理界面

啟動開發服務器,打開瀏覽器,訪問 http://127.0.0.1:8000/admin/,使用之前創建的超級用戶賬號登錄,你可以在管理界面中對 Book 模型進行增刪改查操作。

12. 模板與視圖結合

12.1 創建模板目錄

在 myapp 目錄下創建一個名為 templates 的目錄,在 templates 目錄下再創建一個與應用名相同的目錄 myapp,在 myapp 目錄下創建一個 hello.html 文件:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Hello</title>
</head>
<body><h1>{{ message }}</h1>
</body>
</html>

12.2 修改視圖函數

打開 myapp/views.py 文件,修改 hello 視圖函數:

from django.shortcuts import renderdef hello(request):context = {'message': 'Hello, Django with template!'}return render(request, 'myapp/hello.html', context)

12.3 訪問模板頁面

啟動開發服務器,打開瀏覽器,訪問 http://127.0.0.1:8000/hello/,你將看到頁面顯示 Hello, Django with template!。

通過以上步驟,你已經完成了 Django 項目的基礎入門學習。接下來,你可以繼續深入學習 Django 的其他功能,如表單處理、用戶認證、緩存等。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/896768.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/896768.shtml
英文地址,請注明出處:http://en.pswp.cn/news/896768.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

功能豐富的自動化任務軟件zTasker_2.1.0_綠色版_屏蔽強制更新閃退

&#x1f680; zTasker 一鍵式效率倍增器使用指南 &#x1f64f; 致謝 首先感謝開發者提供如此高效的工具&#xff01; 軟件本身功能強大&#xff0c;但部分機制需特別注意&#xff01; &#x1f4d6; 軟件概述 zTasker 是一款通過自動化腳本/任務流實現效率飛躍的生產力工…

MFC中CMutex類和CSingleLock類,配合使用疑惑

在使用CMutex過程中&#xff0c;看到別人使用了CSingleLock類&#xff0c;想著明明CMutex已經可以實現線程同步了&#xff0c;為什么還有使用CSingleLock類呢&#xff1f; 在MFC中&#xff0c;雖然CMutex類本身可以實現線程同步&#xff0c;但通常會與CSingleLock類一起使用&am…

【最大半連通子圖——tarjan求最大連通分量,拓撲排序,樹形DP】

題目 分析 最大連通分量肯定是滿足半連通分量的要求&#xff0c;因此tarjan。 同時為了簡化圖&#xff0c;我們進行縮點&#xff0c;圖一定變為拓撲圖。 我們很容易看出&#xff0c;只要是一條不分叉的鏈&#xff0c;是滿足條件的。 于是我們按照拓撲序不斷樹形DP 建邊注意…

LabVIEW正弦信號處理:FFT與最小二乘擬合的參數提取

問題一&#xff1a;LabVIEW能否對采集的正弦力信號進行快速傅里葉變換&#xff08;FFT&#xff09;&#xff0c;并得到幅值和相位結果&#xff1f; 答案&#xff1a; 可以。LabVIEW通過內置信號處理工具包提供完整的FFT分析功能&#xff0c;具體實現如下&#xff1a; FFT分析流…

Nginx+PHP+MYSQL-Ubuntu在線安裝

在 Ubuntu 上配置 Nginx、PHP 和 MySQL 的步驟如下&#xff1a; 1. 更新系統包 首先&#xff0c;確保系統包是最新的&#xff1a; sudo apt update sudo apt upgrade2. 安裝 Nginx 安裝 Nginx&#xff1a; sudo apt install nginx啟動并啟用 Nginx 服務&#xff1a; sudo…

第002文-kali虛擬機安全與網絡配置

1、kali系統介紹 kali是一個基于Linux kernel的操作系統&#xff0c;由BackTrack(簡稱BT)發展而來。BackTrack是2006年推出的一個用于滲透測試及黑客攻防的專用平臺&#xff0c;基于Knoppix(linux的一個發行版)開發。BackTrack版本周期&#xff1a;2006年的起始版本BackTrack …

怎么下載安裝yarn

安裝 npm install --global yarn 是否安裝成功 yarn -v Yarn 淘寶源安裝&#xff0c;分別復制粘貼以下代碼行到黑窗口運行即可 yarn config set registry https://registry.npm.taobao.org -g yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/…

Odoo免費開源CRM技術實戰:從商機線索關聯轉化為售后工單的應用

文 / 開源智造 Odoo金牌服務 Odoo&#xff1a;功能強大且免費開源的CRM Odoo 引入了一種高效的客戶支持管理方式&#xff0c;即將 CRM 線索轉換為服務臺工單。此功能確保銷售和支持團隊能夠無縫協作&#xff0c;從而提升客戶滿意度并縮短問題解決時間。通過整合 CRM 模塊與服…

ArcGIS Pro實戰技巧:靈活運用線條精準分割與裁切面要素

在地理信息系統&#xff08;GIS&#xff09;的應用中&#xff0c;我們經常需要對地圖上的面要素進行精確的分割或裁切。 ArcGIS Pro作為一款強大的GIS軟件&#xff0c;提供了多種工具來滿足這一需求。 本文將詳細介紹如何在ArcGIS Pro中使用線要素對面要素進行分割和裁切&…

基于python的網絡爬蟲爬取天氣數據及可視化分析(Matplotlib、sk-learn等,包括ppt,視頻)

基于Python爬取天氣數據信息與可視化分析&#xff08;文末完整源碼&#xff09; 基于python的網絡爬蟲爬取天氣數據及可視化分析 可以看看演示視頻。 摘要 基于Python爬取天氣數據信息與可視化分析 本論文旨在利用Python編程語言實現天氣數據信息的爬取和可視化分析。天氣…

Angular Loss論文理解

Angular Loss論文理解 一、相較于Triplet loss二、Angular loss的意義三、Angular loss的優點四、Angular Loss五、實施細節六、訓練細節七、未來構想 一、相較于Triplet loss Triplet loss在訓練時&#xff0c;收斂較難 每個三元組需要三次抽樣&#xff0c;然而將某個數據集…

加入二極管的NE555 PWM 電路

只用電阻、電容構成的一般定時電路的占空比無法低于50%&#xff0c;如下圖&#xff1a; 電容的充電路徑上串聯了R1 和R2&#xff0c;而放電路徑上只有R2&#xff0c;所以放電的時間不可能比充電長。加入二極管就能解決這個問題&#xff0c;用二極管把充電和放電路徑分離開&…

本地部署大語言模型-DeepSeek

DeepSeek 是國內頂尖 AI 團隊「深度求索」開發的多模態大模型&#xff0c;具備數學推理、代碼生成等深度能力&#xff0c;堪稱"AI界的六邊形戰士"。 Hostease AMD 9950X/96G/3.84T NVMe/1G/5IP/RTX4090 GPU服務器提供多種計費模式。 DeepSeek-R1-32B配置 配置項 規…

[AI機器人] Web-AI-Robot機器人前瞻版--比奇堡海之霸凱倫

文章目錄 簡述開源Web-AI-Robot 項目-比奇堡-海之霸-凱倫 技術架構效果預覽 簡述 本項目配合前端項目bikini_bottom_karen_ui運行&#xff0c;來源于柒杉工作室&#xff08;截止2025.2&#xff0c;目前我自己&#xff09;。 打造一個只需要在瀏覽器上運行的AI智能機器人&#…

250302-綠聯NAS通過Docker配置SearXNG及適配Open-WebUI的yaml配置

A. 配置Docker中的代理 綠聯NAS簡單解決docker無法獲取鏡像-不用軟路由 - 嗶哩嗶哩 B. 下載官網對應的鏡像 群暉NAS用docker搭建SearXNG元搜索引擎_嗶哩嗶哩_bilibili C. 修改默認省略的參數&#xff0c;只配置Base_URL&#xff0c;刪除其它默認的空缺項 searxng-docker/REA…

java容器 LIst、set、Map

Java容器中的List、Set、Map是核心數據結構&#xff0c;各自適用于不同的場景 一、List&#xff08;有序、可重復&#xff09; List接口代表有序集合&#xff0c;允許元素重復和通過索引訪問&#xff0c;主要實現類包括&#xff1a; ArrayList 底層結構&#xff1a;動態數組…

3471. 找出最大的幾近缺失整數

3471. 找出最大的幾近缺失整數 class Solution:# 輔助方法&#xff0c;判斷第三種情況&#xff0c;只有首位兩個元素有可能為最大幾近缺失數def f(self,nums,x):return -1 if x in nums else xdef largestInteger(self, nums: List[int], k: int) -> int:n len(nums)if k …

【異常錯誤】No module named ‘taming.modules.vqvae‘

錯誤&#xff1a; File "/mnt/d/Pycharm_workspace/text2image/OmniGen-version/OmniGen/latentDiffusion/ldm/models/autoencoder.py", line 6, in <module> from taming.modules.vqvae.quantize import VectorQuantizer2 as VectorQuantizer ModuleNotF…

快檢查達夢庫怎么了

扁鵲的弟弟來了 要求5分鐘定位達夢數據庫問題 #!/bin/bash## content 實例個數 告警日志 實例狀態 用戶連接 活動會話 鎖 集群狀態 服務狀態 磁盤空間 cpu mem 偵聽及日志 ## scope 單機、DW、DSC Linux 多實例 ## example 將腳本保存為d.sh&#xff0c;用root用執行&#…

C++20中`constexpr`的顯著增強

文章目錄 1. **更多標準庫函數支持constexpr**2. **支持動態內存分配**3. **支持虛函數和多態**4. **支持try-catch異常處理**5. **更靈活的控制流**6. **支持std::initializer_list**7. **支持修改union活躍成員**8. **允許更多類型的非類型模板參數**總結 C20對 constexpr進…