gpt4 book ai didi

django - 如何在 IIS 上使用 django 获取静态 CSS 文件?

转载 作者:行者123 更新时间:2023-12-03 12:28:01 24 4
gpt4 key购买 nike

我在 IIS8 上安装了 django。现在我想将它配置为提供静态文件。我一直在关注 this tutorial

我已将此添加到 settings.py

STATIC_URL = '/static/'

STATIC_ROOT = 'C:/my_django_project/NZtracker/static_for_production/'

STATICFILES_DIRS = ( 'C:/my_django_project/NZtracker/static/', )



然后运行 ​​collectstatic。

因此,所有静态文件夹都已移至 C:/my_django_project/NZtracker/static_for_production/。

接下来,我试图将 IIS 配置为从该文件夹提供文件,但不能。 (我曾尝试关注 this post ,但也没有奏效)

我该如何解决?
谢谢

最佳答案

是的,我是新手。有时我会问“新手问题”,就像这里的许多其他人一样。但显然,这个网站上没有此类问题的空间(这就是为什么我在顶部的第一个问题上被否决并被禁止离开这个网站 - 这是我可以在这个网站上写的最后一个答案)。伙计们,人们提出问题是因为他们诚实地寻求帮助并希望能在这里得到帮助。他们这样做不会激怒你们中的任何人(如果让您感觉良好,您也可以投票关闭此答案)

不管怎样,折腾了2天,为了有同样问题的人,想分享一个步骤解决方案 对于(可能是一个常见的)问题。

问题

您已经在 IIS 上启动了一个 django 项目,它在您的本地主机上运行良好。现在,当将其部署到 Web 服务器时,不会获取静态文件(CSS、JS、图像等)。您可以阅读 herehere ,但实际上,您不希望所有这些配置和将文件从一个目录复制到另一个目录...

您想要的是您的 IIS 服务器将从 static/目录中获取静态文件,就像开发服务器(您使用 python manage.py runserver 运行的那个)所做的那样。
enter image description here

解决方案

1) 在 static/目录中,创建一个名为 web.config 的新文件(注意,您可能在上层目录中有另一个 web.config 文件 - 不要触摸它。保持原样)。
enter image description here

2) 写入以下内容作为该文件的内容:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<!-- this configuration overrides the FastCGI handler to let IIS serve the static files -->
<handlers>
<clear/>
<add name="StaticFile" path="*" verb="*" modules="StaticFileModule" resourceType="File" requireAccess="Read" />
</handlers>
</system.webServer>
</configuration>

3) 转到您的 IIS 服务器 -> 右键单击​​站点名称 -> 添加虚拟目录
enter image description here

4)在别名中写上“静态”(这是必须的)。然后,导航到项目中所有静态文件所在的文件夹

enter image description here

5)运行IIS服务器并进入您的网站。它应该工作。

关于django - 如何在 IIS 上使用 django 获取静态 CSS 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32312590/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com