我是Django的新手,正在try 设置一个非常简单的Django应用程序.

现在,我读到了Django在线图书的第5章:http://www.djangobook.com/en/2.0/chapter05/

在我开始try 数据库之前,我现在想做的就是在应用程序中添加一些简单的CS和J.

所以问题是,我该怎么做呢?我只有一个应用程序,并且我只想要css文件夹中的main.css和js文件夹中的main.js.

我查看了https://docs.djangoproject.com/en/1.3/howto/static-files/#staticfiles-in-templates页,但在阅读和阅读之后,在示例方面似乎没有太多可操作的内容.

我如何导入样式表/css(有像cakephp这样的助手吗?),我把css和js文件放在哪里,我需要配置静电吗?

更新:链接:Render CSS in Django帮助不大.主要是因为它对我不起作用,而且我特别不喜欢"if debug"这一部分.当我搬到Prod时会发生什么?不管怎样,为什么我要为Prod和Local Dev定义不同的介质文件夹?难道不应该是相对的,甚至是同一地点的吗?

推荐答案

如果你遵循Django 的指导方针,你的生活就会大大简化.

在您的样例代码中,在application目录内创建一个名为static的文件夹.在此文件夹中,放置您的CSS文件.

示例:

$ django-admin.py startproject myproject
$ cd myproject
myproject$ python manage.py startapp myapp
myproject$ mkdir myapp/static
myproject$ cd myapp/static
myproject/myapp/static$ nano style.css

在您的模板中:

<link rel="stylesheet" href="{{ STATIC_URL }}style.css" />

确保将myapp添加到settings.pyINSTALLED_APPS列表中.现在,当您使用内置开发服务器时,您的样式表将被正确呈现.

默认情况下,Django会在已安装的应用程序中搜索static个目录,对于Django的当前版本,默认情况下会启用静态文件.


Django示例的路径为my_app/static/my_app/myimage.jpg

建议您这样做,因为当您运行collectstatic时,收集所有静电文件时,同名文件将被覆盖.如果您在另一个应用程序中有一个名为myimage.jpg的文件,它将被覆盖.在静电目录中给出应用程序名称可以避免这种情况,因为确切的目录 struct 将在STATIC_ROOT中复制.

举一个简单的例子来说明这一点.如果您有一个包含两个应用程序的Django项目,如下所示:

.
├── assets
├── manage.py
├── myapp
│   ├── __init__.py
│   ├── models.py
│   ├── static
│   │   └── myapp
│   │       └── test.txt
│   ├── tests.py
│   └── views.py
├── myproj
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── settings.py
│   ├── settings.pyc
│   ├── urls.py
│   └── wsgi.py
└── otherapp
    ├── __init__.py
    ├── models.py
    ├── static
    │   └── otherapp
    │       └── test.txt
    ├── tests.py
    └── views.py

assets是你的STATIC_ROOT.现在,当您运行collectstatic时:

.
├── assets
│   ├── myapp
│   │   └── test.txt
│   └── otherapp
│       └── test.txt
├── manage.py
├── myapp
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── models.py
│   ├── static
│   │   └── myapp
│   │       └── test.txt
│   ├── tests.py
│   └── views.py
├── myproj
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── settings.py
│   ├── settings.pyc
│   ├── urls.py
│   └── wsgi.py
└── otherapp
    ├── __init__.py
    ├── __init__.pyc
    ├── models.py
    ├── static
    │   └── otherapp
    │       └── test.txt
    ├── tests.py
    └── views.py

您可以看到,它也在创建目录.在您的模板中,您现在将使用其应用程序的"命名空间"引用每个文件:{{ STATIC_URL }}/myapp/test.txt

Django相关问答推荐

Django 5.0.2:TypeError:获取切片后无法过滤查询

管理器不能通过对象上的对象实例访问.保存()

Django mods.py我想要一个函数转到一个变量

Django 中模型将数据存储在哪里?

DjangoRestFramework 解析错误:"多部分表单解析错误多部分中的无效边界:None"

当从 fastapi 发送请求时,Django 无法对 Postgres 执行查询

如何在两个字段上查找 django 模型的副本?

只从查询集中获取某种类型的最新项目

Django 模板:翻译带有 HTML 的文本块的最佳实践

初始填充 Django 表单

Django 模板中的 Handlebars.js

django - 如何使翻译工作?

Python 社区里的小马是怎么回事?

django post_save 更新信号

Django 国际化语言代码

在 Django 中使用 Cython,是否有意义?

如何将 django csrf 令牌直接嵌入 HTML?

Django - 在设置中使用反向 url 映射

Django 将多个模型传递给一个模板

如何从 django 请求中获取完整的 url