Django Beginner

2025-03-07T15:13:04+08:00 | 3分鐘閱讀 | 更新於 2025-10-22T08:07:13+08:00

@
Django Beginner

使用Django進行全端網頁開發,基礎的前置教學

Django是一個高階的Python網頁框架,專為快速開發而設計,它內建了許多常見的功能,讓開發者能夠專注於邏輯的編寫。Django的物件關聯對應(ORM)系統,使開發者能夠輕鬆操作資料庫,免去手動編寫SQL查詢語句的麻煩。同時,Django也提供了用戶認證系統,開發者可以輕鬆實現用戶註冊、登入與權限管理,這大大提高了開發效率。這篇要交大家怎麼用Django製作一個有後台的網頁

建立Django開發環境

由於使用的是Python,所以需要先建立Python的虛擬環境

  1. 建立Python虛擬環境

    可以參考我的這篇筆記

  2. 安裝Django套件

    pip install django
    

建立Django預設伺服器

前面已經完成開發環境的建置了,接下來就要用指令建立一個Django的專案了

  1. 建立Django專案 在cmd切換到你要建專案的路徑後,輸入下面的指令

    django-admin startproject <專案名稱>
    
  2. 建立APP 先進入專案的資料夾後,再輸入下面的指令

    cd <專案名稱>
    python manage.py startapp <APP名稱>
    
  3. 建立靜態檔案資料夾 一樣在專案的資料夾底下,輸入下面的指令,template對應到的是HTML,static則是css以及javascript

    md template
    md static
    
  4. 建立資料庫 Django有預設使用sqlite3作為資料庫,可以直接拿來做使用,如果不想用sqlite3的也可以使用Postgresql等sql資料庫

    # app名稱可有可無
    python manage.py makemigrations <APP名稱> 
    python manage.py migrate <APP名稱>
    

    若要使用postgresql則需要在migrate前先修改Django專案底下的setting.py

    修改範例

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql',  #PostgreSQL
            'NAME': '資料庫的名稱',
            'USER': '資料庫帳號',  # 預設是posgres
            'PASSWORD': '資料庫密碼',  # 安裝時設定的密碼
            'HOST': 'localhost',  #Server(伺服器)位址
        }
    }
    
  5. 架設預設伺服器 在專案資料夾內的路徑執行下面的指令運行伺服器

    python manage.py runserver
    

Django專案設定

在Django執行伺服器的程式前,我們需要修改setting.py的路徑和APP,才可以進到我們建立的資料夾內讀取資料

  1. 新增建立好的APP

    # 新增建立好的APP
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        '你的APP名稱',
    ]
    
  2. 修改template路徑

    # 修改Template路徑
    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [BASE_DIR / 'templates'], # 加入template路徑
            'APP_DIRS': True,
            'OPTIONS': {
                'context_processors': [
                    'django.template.context_processors.debug',
                    'django.template.context_processors.request',
                    'django.contrib.auth.context_processors.auth',
                    'django.contrib.messages.context_processors.messages',
                ],
            },
        },
    ]
    
  3. 設定時區

    # 設定時區
    TIME_ZONE = 'Asia/Taipei'
    
  4. 新增static路徑

    # 設定static路徑
    STATIC_URL = 'static/'
    STATICFILES_DIRS = [    #加入static路徑
        BASE_DIR / 'static' 
    ]
    

Django專案的view與url

  1. 在templates中建立一個簡單的HTML
<p>Lorem ipsum dolor sit amet.</p>
<p>Ullam sunt sed eligendi a!</p>
<p>Vero unde itaque ex animi?</p>
<p>Fugit exercitationem consequuntur vitae nostrum.</p>
<input type="text" style="text-align: center;"></body>
  1. 在views.py中新增呼叫的HTML頁面
def index(request):
    return render(request, 'index.html')
  1. 在urls.py中新增對應到的路由
from django.contrib import admin
from django.urls import path
import posts.views as posts_views # import view

urlpatterns = [
    path('admin/', admin.site.urls),
    path('/', posts_views.index), # 設定路由為此時執行的python view function
]

Reference:https://docs.djangoproject.com/en/4.2/

© 2025 Aincrad

🌱 Powered by Hugo with theme Dream.

關於我

Hi,我是KonenTung,目前就讀國立臺北教育大學。

我非常喜歡寫程式以及做一些簡單的教學,希望能帶給也想學這些知識的人,目前已擔任多場工作坊的助教,希望有朝一日能擔任講師進行教學。

我擅長的程式語言為Python,目前正努力學習人工智慧的相關知識,也會一些網頁的前端及後端概念。

看動漫以及輕小說是我國高中的興趣,最喜歡的動漫是刀劍神域,夢想也是創建一個Aincrad,希望能應用到目前的AI的技術

我的專案(My Projects)
  • OnlineProgrammingPlatform

    專題的專案

    利用Python的後端框架建立一個遊戲式程式學習的平台

  • magicBoxBot

    使用LINE Messaging API串接的LINE Bot,是一個有許多功能的有趣機器人,有串接AI並且可以向他提問呦

    加入好友 -» https://line.me/R/ti/p/@544xkvdn

  • mazeSolution

    使用Pygame套件製作的簡易自動解迷宮動畫,雖然只是演算法的作業,但是我想要把它做的具體一點所以就使用Pygame這個套件做動畫並實際演示出演算法的結果

  • blog

    跨平台網頁設計的作業,大一的時候矇矇懂懂得建立了一個個人blog,做的非常辛苦,後來覺得維護太麻煩所以改使用現在這個做為主要的Blog,因為許多筆記都是用md做得所以就不要浪費時間寫一堆html了,直接使用這個hugo的框架建立比較省時也比較便利

    原Blog網址 -» https://konentung.github.io/Blog/

Workstudy Projects
  • ProgramWeb

    國科會計畫的專案

    利用Python的後端框架Django製作計畫的專案,並且加入AI提示的小老師,可以回應學生對應的問題

  • Bigdata-Line-Bot

    教育大數據微學程計畫專用LINE Bot

    使用LINE Bot API建立的LINE Bot,專門用來處理學生對於計畫課程的疑難雜症,設有多項功能,並且連結其他計畫社群以及經營,雖然目前計畫已結束,但是仍然不斷推出新課程供大家學習,建立一個良好的學習環境