搜尋

薑戈順風

Aug 29, 2024 am 06:30 AM

本教學示範如何在新專案中從頭開始設定 Django 和 TailwindCSS。

Django 設定

建立一個名為 .venv 的新虛擬環境。

# Windows
$ python -m venv .venv
$ .venv\Scripts\Activate.ps1
(.venv) $

# macOS/Linux
$ python3 -m venv .venv
$ source .venv/bin/activate
(.venv) $

然後安裝 Django 並建立一個名為 django_project 的新專案。

(.venv) $ python -m pip install django
(.venv) $ django-admin startproject django_project .

使用 mkdir 指令從命令列建立專案級範本目錄。

(.venv) $ mkdir templates

我們將在這裡儲存我們的模板,而不是在每個應用程式中。但是,我們需要透過更新 settings.py 中的 TEMPLATES 配置來告訴 Django 在哪裡可以找到它們。

# django_project/settings.py
TEMPLATES = [
    {
        ...
        "DIRS": [BASE_DIR/"templates"],  # new
        ...
    }
]

建立 templates/base.html 檔案。

<!-- templates/base.html -->
<h1 id="Hello-World">Hello, World</h1>

如果我們巧妙地使用“django_project/urls.py”,我們可以將視圖和 URL 包含在一個檔案中。在頂部導入TemplateView,然後設定一個指向模板的路徑,base.html。

# django_project/urls.py
from django.contrib import admin
from django.urls import path
from django.views.generic import TemplateView  # new

urlpatterns = [
    path("admin/", admin.site.urls),
    path("", TemplateView.as_view(template_name="base.html"),),  # new
]

使用 runserver 指令確認首頁正常運作。

(.venv) $ python manage.py runserver

Django Tailwind

順風配置

Tailwind 文件有一個安裝指南,我們只需進行一些更改即可遵循。從專案目錄中開啟一個新的終端會話:我們最終需要執行兩個終端會話,一個使用我們的 Django 伺服器,另一個使用 Node。

在新的終端機視窗中,請確保您的電腦上安裝了 Node。你可以用node-v來檢查。

$ node -v
v20.17.0

建立 package.json 檔案以一起使用 Node 和 Tailwind。新增 -y 標誌以對所有預設值表示“是”。

$ npm init -y

這是產生的 package.json 檔案。

{
  "name": "django-tailwind",
  "version": "1.0.0",
  "description": "How to configure Django and Tailwind from scratch in a new project.",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

透過 npm 安裝 Tailwind。

$ npm install -D tailwindcss

這將建立一個 node_modules 目錄。接下來建立一個 tailwind.config.js 檔案。

$ npx tailwindcss init
Created Tailwind CSS config file: tailwind.config.js

現在我們有了一個 tailwind.config.js 檔案。為我們的模板目錄新增路徑。

// tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  content: ["./templates/**/"],  // updated line here!
  theme: {
    extend: {},
  },
  plugins: [],
}

在 Django 專案中,建立一個靜態目錄和一個名為 src 的子目錄。

$ mkdir static
$ mkdir static/src

我們需要透過更新 STATICFILES_DIRS 配置告訴 Django 在這裡查找檔案。

# settings.py
STATICFILES_DIRS = [BASE_DIR / "static",]  # new

然後建立一個名為 static/src/styles.css 的新 CSS 檔案並在其中加入 @tailwind 指令。

/* static/src/styles.css */
@tailwind base;
@tailwind components;
@tailwind utilities;

下一步是啟動 Tailwind CLI 建置流程。它將掃描我們的模板文件中的類別並建立必要的 CSS。我們在這裡稍微更改了 Tailwind 網站的路徑,以便它在 src/styles.css 檔案中尋找並輸出到 dist/styles.css。

$ npx tailwindcss -i ./static/src/styles.css -o ./static/dist/styles.css --watch

要嘗試一下,請使用一些 Tailwind 類別更新 base.html 範本檔案。在頂部新增載入靜態標記並連結到新樣式表非常重要。然後,我們添加基本類,使標題變為紅色,下面的文字變為藍色。

<!-- templates/base.html -->
{% load static %}
<link href="%7B%%20static%20'dist/styles.css'%20%%7D" rel="stylesheet">
<h1 id="Hello-World">Hello, World</h1>
<p class="text-blue-600">More text</p>

硬刷新主頁。

Django Tailwind

您可以看到文字更新,表示 Tailwind 已正確安裝。

觀看:css 腳本

我們已經啟動並運行了基本安裝,但您很快就會發現一些額外的功能可以顯著改善情況。

首先,我們不想記住讓 Node 執行的又大又長的指令。我們可以將其作為以「watch:css」開頭的腳本放在 package.json 檔案中。

// package.json
{
  "name": "django-tailwind",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "watch:css": "npx tailwindcss -i ./static/src/styles.css -o ./static/dist/styles.css --watch"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "description": "",
  "devDependencies": {
    "tailwindcss": "^3.4.10"
  }
}

在 Node 運行的終端機中,使用 Ctrl+c 停止它。輸入 npm run watch:css 它應該像以前一樣啟動。

$ npm run watch:css

刷新網頁以確保一切仍然有效。

結論

如我們所見,Tailwind 與 Django 配合得很好。如需額外的好處,請查看 django-browser-reload 以在開發中自動重新載入瀏覽器,這樣您就不必一直進行硬刷新。還有一個維護良好的第三方套件 django-tailwind,它提供了另一種將 Tailwind 與 Django 整合的方法。

以上是薑戈順風的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
有多少個CSS屬性?有多少個CSS屬性?Apr 12, 2025 am 09:53 AM

托馬斯(Tomasz)發表了一條笑話推文,講述了所有CSS屬性的命名,Tejas Kumar笑著回答,甚至是製作NPM模塊。你

如何使用Greensock在網上動畫如何使用Greensock在網上動畫Apr 12, 2025 am 09:48 AM

確實有成千上萬種在網絡上進行動畫動畫的方法。我們之前介紹了不同動畫技術的比較。今天,我們要去

您如何在CSS中進行最大尺寸?您如何在CSS中進行最大尺寸?Apr 12, 2025 am 09:45 AM

CSS不具有最大尺寸,因此,如果我們需要按照這些行執行某些操作的東西,我們就必須變得棘手。

價格為四個佈局價格為四個佈局Apr 12, 2025 am 09:40 AM

當有關Flexbox佈局的推文在Twitter上獲得8K喜歡時,非常值得注意!

超越'使用”元素的自動SVG壓縮超越'使用”元素的自動SVG壓縮Apr 12, 2025 am 09:39 AM

如果您繪製自己的SVG文件或從Internet下載它們,那麼SVG-編輯或SVGOMG之類的工具是您的朋友。用

使用並重用SVG中的所有內容……甚至動畫!使用並重用SVG中的所有內容……甚至動畫!Apr 12, 2025 am 09:36 AM

如果您熟悉SVG和CSS動畫並經常與它們合作,那麼這裡可能需要牢記一些想法

靈活的字幕傾斜圖像靈活的字幕傾斜圖像Apr 12, 2025 am 09:31 AM

埃里克·邁耶(Eric Meyer)關於創建這一行傾斜圖像的最終結果非常優雅。但是它比目的地更多地對旅程(在那裡)

調整CSS中的步驟調整值調整CSS中的步驟調整值Apr 12, 2025 am 09:28 AM

實際上,CSS中有一個步驟()函數,但是它僅用於動畫。例如,您可以告訴一個元素,允許它的高度增長,但只有

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。