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

c9x0cxw0  于 2023-03-24  发布在  Go
关注(0)|答案(2)|浏览(170)

我已经在IIS 8上安装了django。现在我想配置它来服务静态文件。我一直在关注this tutorial
我已经把它添加到 * settings.py *
静态_URL =“/静态/”
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,但它也不工作)
我该怎么修?谢谢

a7qyws3x

a7qyws3x1#

经过2天的挣扎,为了那些有同样问题的人,我想分享一个一步一步的解决方案(可能是一个常见的)问题。

问题

你已经在IIS上启动了一个django项目,并且它在你的本地主机上工作得很好。现在,当将它部署到web服务器时,静态文件(CSS,JS,图像,..)不会被获取。你可以读取herehere,但事实上,你不想所有这些配置和将文件从一个目录复制到另一个目录。
您需要的是IIS服务器从static/目录中获取静态文件,就像开发服务器(* 使用python运行的服务器manage.pyrunserver*)所做的那样。x1c 0d1x

解决方案

1.在static/目录中,创建一个名为 web.config 的新文件(注意,在上层目录- don;不要碰它,让它保持原样就行了
1.将以下内容写入此文件的内容:
1.转到IIS服务器-〉右键单击站点名称-〉添加虚拟目录

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

1.运行IIS服务器并输入您的网站。它应该工作。

k97glaaz

k97glaaz2#

尤拉的回答很完整。我有另一种方法,思想。
右键单击网站并转到添加应用程序,输入别名(使用“静态”),然后输入静态文件文件夹的物理路径。按确定。
现在,棘手的部分,在您为静态文件夹创建的应用程序中,转到句柄Map并删除FastCGI站点处理程序的Map。输入您的站点,它可以工作!
这与Yura的答案非常相似,但使用IIS接口,而不是自己编写web.config文件。

相关问题