如何指向djang中的静态文件夹

2024-05-14 00:04:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在学习django,我已经有一个小问题了。我不能指向我的静态文件夹,我尝试了所有的组合,观看了youtube教程等

My settings.py看起来像这样:

   STATIC_ROOT = '/home/peter/brewery/static/'
   TEMPLATE_DIRS = '/home/peter/brewery/mysite/templates/'

其中brewery/是包含mysite/和static/的文件夹,mysite/是由

   django-admin.py startproject

settings.py也住在。。。

模板文件夹似乎映射正确,因为页面使用正确的模板呈现,所以它无法访问/static/css/文件夹中的css。我在模板中显示css的路径,如下所示

   <link ...  href='/static/css/brewery.css' />

我还试图使我的计算机上的href绝对路径,但它不起作用。

我使用的是django 1.3,运行的是django提供的服务器(python manage.py runserver)


Tags: djangopy文件夹模板homesettingsyoutube静态
2条回答

1-在设置文件中,定义静态url和静态根,如下所示:

STATIC_URL = '/static/'

2-设置DEBUG = True

3-确保您的TEMPLATE_CONTEXT_PROCESSORS变量包含django.core.context_processors.static

4-在模板中引用它,如。。。

<link ...  href='{{ STATIC_URL }}css/brewery.css' />

来源:https://docs.djangoproject.com/en/dev/howto/static-files/

在调试模式下,不使用STATIC_ROOT,但staticfiles_urlpatterns()提供来自所有不同应用程序的静态文件。将静态文件放入其中一个应用程序的static/目录中,或在设置中定义STATICFILES_DIRS并将网站的静态文件放在那里。

STATIC_ROOT只是从所有应用程序收集所有静态文件的位置,当您调用时STATICFILES_DIRS

python manage.py collectstatic

只在生产环境中使用。

相关问题 更多 >