讲师中心 微信公众号

工具推荐

视频效率加速
Laper
Laper

剧本策划到成片协作

AniShort
AniShort

AI短剧协同制作平台

updream

一键生成高质量推广成片

剧云
剧云

中文短剧剧本制作平台

姜戈顺风

云婷小哥_2449

云婷小哥_2449

发布时间:2024-08-29 08:00:04

|

429人浏览过

|

来源于dev.to

转载

本教程演示如何在新项目中从头开始配置 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>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

姜戈顺风

顺风配置

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 文件。

Python Hardener
Python Hardener

通过完整的安全审查、代码整洁重构、健壮的错误处理、正确的日志记录以及完整的文档字符串覆盖,强化 Python 脚本。

下载
$ 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="{% static 'dist/styles.css' %}" rel="stylesheet">
<h1 class="text-red-600">hello, world</h1>
<p class="text-blue-600">more text</p>

硬刷新主页。

姜戈顺风

您可以看到文本更新,表明 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 集成的方法。

热门AI工具

更多
火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

码上飞
码上飞 Hot

一款基于自然语言的AI应用开发平台,可根据用户描述自动生成应用程序,帮助个人和团队快速完成应用原型与开发。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

更多
Python Web 框架 Django 深度开发
Python Web 框架 Django 深度开发

本专题系统讲解 Python Django 框架的核心功能与进阶开发技巧,包括 Django 项目结构、数据库模型与迁移、视图与模板渲染、表单与认证管理、RESTful API 开发、Django 中间件与缓存优化、部署与性能调优。通过实战案例,帮助学习者掌握 使用 Django 快速构建功能全面的 Web 应用与全栈开发能力。

593

2026.02.04

Python Django REST Framework接口安全与认证体系实践
Python Django REST Framework接口安全与认证体系实践

本专题围绕 Django REST Framework 展开,深入讲解 API 认证、JWT 鉴权、权限控制、接口安全防护以及防攻击策略设计。通过完整后端案例,帮助开发者构建安全可靠的 Web API 服务体系。

260

2026.06.29

json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2295

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

3742

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

1236

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

4319

2025.09.10

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

4876

2023.06.20

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1435

2023.07.28

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

40

2026.11.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 1.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn