首頁  >  文章  >  後端開發  >  Django入門指南:一個過程式的Python Web框架教學

Django入門指南:一個過程式的Python Web框架教學

WBOY
WBOY原創
2023-06-22 10:06:40817瀏覽

Django是一個開放原始碼的Python Web框架,具有高度可擴展性和靈活性。它採用「模型-視圖-控制器」(Model-View-Controller,MVC)的設計模式,使Web應用程式的開發變得快速且有效率。本文將提供Django的基礎知識、導入和安裝Django、創建資料庫、模型構建和視圖創建等方面的詳細介紹,以幫助初學者掌握Django。

一、Django的基礎
Django的主要元件包括:URL調度器、模板引擎、視圖以及資料庫存取層等。 Django支援多個資料庫,並使用ORM(物件關聯映射)工具提供物件表示和存取資料庫。它同時支援多種Web伺服器,如Apache、Nginx等。 Django還提供了豐富的功能和組件,如管理後台、表單處理、國際化、安全性和認證等。

二、匯入和安裝Django
在安裝Django之前,需要確認Python已經安裝成功。有兩種方法可以安裝Django:一個是使用pip指令(建議),另一個是手動下載和安裝。這裡我們介紹pip安裝的方法。

  1. 建立虛擬環境
    虛擬環境可以幫助我們在不同的專案中管理不同的依賴函式庫。首先,我們要安裝一個叫做virtualenv的模組。在命令列下輸入以下命令安裝(前提是已經安裝了pip)。
pip install virtualenv

接下來,使用下列指令建立一個新的虛擬環境。

virtualenv djangoenv

在這個範例中,虛擬環境的名稱為djangoenv。

  1. 安裝Django
    在虛擬環境中,使用下列指令安裝Django。
pip install Django

這個指令會自動下載最新的版本,並將其安裝在虛擬環境的site-packages目錄中。

三、建立資料庫
Django支援多個資料庫系統,如MySQL、PostgreSQL等。在本文中,我們將使用預設的SQLite資料庫。安裝Python後就已經安裝好了SQLite。

  1. 建立專案
    使用下列指令建立一個新的Django專案。
django-admin startproject mysite

在這個範例中,專案的名稱為mysite。

  1. 建立應用程式
    Django應用程式是由模型、視圖和模板組成的。這裡,我們將創建一個名為blog的應用程式。
cd mysite
python manage.py startapp blog

這個指令會在專案的根目錄下建立一個名為blog的目錄。
注意:必須在專案的根目錄下執行這個指令。

  1. 設定資料庫
    開啟mysite/settings.py文件,並將DATABASES設定為如下所示:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

這個設定將資料庫類型設為SQLite,並將資料庫檔案命名為db.sqlite3。 DATABASES設定也支援其他關係型資料庫,如MySQL和PostgreSQL。

  1. 執行遷移
    Django使用遷移來管理資料模型和資料庫的同步。使用以下命令運行初始遷移。
python manage.py makemigrations
python manage.py migrate

這個命令將創建一個資料庫文件,並建立必要的表以管理Django使用的所有應用程式的資料庫模型。

四、模型建構
模型是將資料對應到資料庫的關鍵部分。為了使用模型,我們需要定義一個Python類,該類別將用於在資料庫中定義表。 Django的ORM支援許多不同的資料庫類型,為了方便起見,我們將在本文中使用SQLite資料庫。

  1. 建立模型
    建立一個Python類,並定義它的屬性。這個類別將充當應用程式的資料模型。
from django.db import models

class Blog(models.Model):
    title = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')
    body = models.TextField()

    def __str__(self):
        return self.title
  1. 模型遷移
    當我們建立了模型後,需要執行以下指令才能將這個模型遷移到資料庫。
python manage.py makemigrations blog
python manage.py migrate

這個指令將會在資料庫中建立一個新的表,該表將包含我們已定義的資料模型。

五、視圖建立
視圖是使用者與應用程式互動的部分。視圖是一組函數,它們從模型中獲取數據,並將結果渲染到使用者的瀏覽器中。在Django中,所有的視圖都必須傳回一個HTTP回應物件。 Django也提供了一些常用的視圖類型。

  1. 建立視圖
    在檔案blog/views.py中建立下列視圖。
from django.shortcuts import render
from django.http import HttpResponse
from .models import Blog

def index(request):
    latest_blog_list = Blog.objects.order_by('-pub_date')[:5]
    context = {'latest_blog_list': latest_blog_list}
    return render(request, 'blog/index.html', context)

def detail(request, blog_id):
    blog = Blog.objects.get(pk=blog_id)
    return render(request, 'blog/detail.html', {'blog': blog})

這裡定義了兩個檢視:index和detail。 index視圖將會取得最新的5篇部落格文章,並逐一渲染到HTML範本中。 detail視圖將獲取一篇部落格文章的詳細信息,並將其渲染到HTML模板中。

  1. 建立範本
    在我們定義的檢視中,我們使用了兩個HTML範本:index.html和detail.html。在blog應用程式的根目錄中建立一個名為「templates」的目錄,並在templates目錄下建立一個名為「blog」的目錄。在blog目錄下建立兩個名為「index.html」和「detail.html」的HTML檔案。

index.html

{% if latest_blog_list %}
    <ul>
    {% for blog in latest_blog_list %}
        <li><a href="{% url 'blog:detail' blog.id %}">{{ blog.title }}</a></li>
    {% endfor %}
    </ul>
{% else %}
    <p>No blogs are available.</p>
{% endif %}

detail.html

<h1>{{ blog.title }}</h1>
<p>{{ blog.body }}</p>
<p>Published on {{ blog.pub_date }}</p>
  1. 创建URL
    最后,我们要将视图与URL相关联。在blog应用程序的根目录下创建一个名为“urls.py”的文件,并添加以下内容。
from django.urls import path

from . import views

app_name = 'blog'
urlpatterns = [
    path('', views.index, name='index'),
    path('<int:blog_id>/', views.detail, name='detail'),
]

在这个文件中,我们使用URL配置了两个视图函数:index和detail。路径“283b0284c70ce5b35f6a4cddbe3f14e7/”定义了一个变量blog_id,并将其传递给detail视图函数。

六、启动服务器
现在我们已经定义了我们的Django应用程序,我们可以启动服务器并测试它是否正常工作了。在命令行中输入以下命令。

python manage.py runserver

如果一切正常,您将看到以下输出。

Performing system checks...

System check identified no issues (0 silenced).
September 18, 2021 - 18:13:35
Django version 3.2, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

现在您可以打开浏览器,并输入地址http://127.0.0.1:8000/blog/来访问您的Django网站。

七、总结
本文提供了一个Django入门指南,介绍了Django的基础知识,导入和安装Django,创建数据库,模型构建和视图创建等方面的内容。希望本文能够帮助初学者更好地理解Django,并在他们的Web开发项目中使用它。在Web开发的繁荣时代,Django无疑是一个强大的工具。

以上是Django入門指南:一個過程式的Python Web框架教學的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn