首頁 後端開發 Python教學 如何使用Django在Python中創建Web應用程式?

如何使用Django在Python中創建Web應用程式?

Jun 23, 2023 am 09:33 AM
python django web應用程式

Python是一種強大的程式語言,而Django是一個流行的Python Web框架。使用Django,你可以很輕鬆地創建高度模組化和可擴展的網路應用程式。本文將介紹如何在Python中使用Django創建Web應用程式。

  1. 安裝Django

首先,需要安裝Django。你可以透過pip在終端機中輸入以下指令來安裝:

pip install Django
登入後複製
  1. 建立Django專案

安裝完Django之後,我們需要建立一個Django專案。在終端機中輸入以下命令:

django-admin startproject projectname
登入後複製

這將建立一個名為projectname的Django專案資料夾,其中包含一些預設檔。接下來,進入該資料夾:

cd projectname
登入後複製
  1. 建立Django應用程式

一個Django專案可以包含多個應用程式。每個應用程式都是獨立的,可以包含自己的模型,視圖和模板。在Django專案中建立一個新的應用程序,你可以在終端機中輸入以下命令:

python manage.py startapp appname
登入後複製

這將創建一個名為appname的新應用程式資料夾。

  1. 設定資料庫

Django使用ORM(Object-Relational Mapping)來連接資料庫。預設情況下,Django使用SQLite資料庫。如果你想使用其他資料庫,如MySQL或PostgreSQL,就需要在projectname/settings.py檔案中進行設定。

例如,如果要使用MySQL資料庫,你需要安裝mysqlclient並在projectname/settings.py檔案中加入以下程式碼:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'databasename',
        'USER': 'username',
        'PASSWORD': 'password',
        'HOST': 'localhost',
        'PORT': '',
    }
}
登入後複製
  1. ##建立模型

在Django中,模型是與資料庫表對應的Python類別。你可以在應用程式資料夾中的models.py檔案中編寫模型類別。以下是一個範例模型類別:

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=50)
    published_date = models.DateField()

    def __str__(self):
        return self.title
登入後複製

在範例中,我們建立了一個名為Book的模型類,它包含三個欄位:titleauthorpublished_date,每個欄位都是一個CharField或DateField類型。 __str__方法用於在命令列中顯示物件的可讀表示。

  1. 建立視圖和URL

視圖是處理網頁應用程式請求的函數。在應用程式資料夾中的views.py檔案中編寫視圖函數。以下是一個範例視圖函數:

from django.shortcuts import render
from .models import Book

def book_list(request):
    books = Book.objects.all()
    return render(request, 'book_list.html', {'books': books})
登入後複製

在範例中,我們定義了一個名為book_list的視圖函數,它從資料庫取得所有書籍並將它們傳遞給book_list .html模板。

為了將URL與視圖函數關聯起來,你需要在應用程式資料夾中的urls.py檔案中定義URL模式。以下是一個範例URL模式:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.book_list, name='book_list'),
]
登入後複製

在範例中,我們定義了一個空路徑,它會呼叫book_list檢視函數。

  1. 建立範本

範本是用於在網頁應用程式中呈現資料的HTML檔案。在應用程式資料夾中建立一個名為templates的資料夾。在該資料夾中建立book_list.html範本檔案。以下是一個範例範本:

{% extends 'base.html' %}

{% block content %}
<h1>Book List</h1>
<ul>
{% for book in books %}
    <li>{{ book.title }}, by {{ book.author }}, published on {{ book.published_date }}</li>
{% endfor %}
</ul>
{% endblock %}
登入後複製

在範例中,我們擴充了名為base.html的基本範本。我們使用for循環迭代所有書籍並顯示它們的字段值。

  1. 運行Django伺服器

現在,我們已經創建了Django專案和應用程序,定義了模型,視圖和模板,並創建了URL映射。你可以在終端機中輸入以下指令啟動Django開發伺服器:

python manage.py runserver
登入後複製

在瀏覽器中存取http://localhost:8000/,將顯示book_list視圖函數傳回的所有書籍的列表。

結論

使用Django和Python,創建Web應用程式非常容易。你可以輕鬆地建立模型,視圖和模板,並使用Django ORM連接資料庫。 Django使用MVC(Model-View-Controller)模式,這使得它非常模組化和可擴展。如果你想探索更多關於Django的知識,建議閱讀Django的官方文件。

以上是如何使用Django在Python中創建Web應用程式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

怎麼下載deepseek 小米 怎麼下載deepseek 小米 Feb 19, 2025 pm 05:27 PM

怎麼下載deepseek 小米

模板化的優點和缺點有哪些? 模板化的優點和缺點有哪些? May 08, 2024 pm 03:51 PM

模板化的優點和缺點有哪些?

Google AI 為開發者發佈 Gemini 1.5 Pro 和 Gemma 2 Google AI 為開發者發佈 Gemini 1.5 Pro 和 Gemma 2 Jul 01, 2024 am 07:22 AM

Google AI 為開發者發佈 Gemini 1.5 Pro 和 Gemma 2

deepseek怎麼問他 deepseek怎麼問他 Feb 19, 2025 pm 04:42 PM

deepseek怎麼問他

evaluate函數怎麼保存 evaluate函數怎麼保存 May 07, 2024 am 01:09 AM

evaluate函數怎麼保存

NET40是什麼軟體 NET40是什麼軟體 May 10, 2024 am 01:12 AM

NET40是什麼軟體

deepseek該怎麼搜索 deepseek該怎麼搜索 Feb 19, 2025 pm 05:18 PM

deepseek該怎麼搜索

瀏覽器插件是什麼語言寫的 瀏覽器插件是什麼語言寫的 May 08, 2024 pm 09:36 PM

瀏覽器插件是什麼語言寫的

See all articles