问题描述
我正在尝试使用python软件包 django-pyas2 (https://github.com/abhishek-ram/django-pyas2)
来设置AS2服务器当我使用 runserver 命令时,一切都运行良好,但是当尝试使用IIS(10)托管我的Web应用程序时,我注意到当我加载任何静态文件时,加载页面。
我去过无数论坛/文档,我知道我需要设置IIS来提供这些文件,但是我无法回答一个相当愚蠢的问题:
django-pyas2 的 / static / 文件夹在哪里???
在github页面上没有这样的文件夹。 使用 runserver 命令时,django设法以某种方式从静态文件夹中找到所有静态文件(.css,.js,.png),但对于该文件夹的实际存储位置我仍然一无所知
我一直在以下位置搜索无济于事:(我在Windows Server 2016上使用虚拟环境)
- 我自己的项目
- 我的venv的 site-packages \ django-pyas2 文件夹
- 在 中C:\ python37 \ Lib \ site-packages \ django-pyas2
- 在 中C:\ User \ AppData \ Roaming \ Python \ python37 \ Lib \ site-packages \ django-pyas2
我也尝试过使用命令 collectstatic ,但是我首先需要知道实际的 / static / 文件夹存储在哪里。
我已经仔细检查过,文件显然存储在本地而不是CDN上。这真让我发疯,我可以明确地寻求别人的帮助!
在此先感谢❤
编辑:
解决方法
我不确定IIS(10)的工作方式,但这通常是解决方法。
转到settings.py并添加静态文件的路径。
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR,'static')#new
下一步在控制台(命令提示符/终端/外壳)上运行
python manage.py collectstatic
这应该有效
,好的,所以我终于在这个位置找到了我要查找的静态文件夹:
我相信 django_pyas2 软件包使用的是Django中已随附的一些默认js / css,但我找不到它,因为它已埋在Django的文件中。
对于那些遇到相同问题的人,下面是我要使其与IIS(10)一起使用的步骤:
- 将静态文件夹从django包复制/粘贴到我项目的根目录
- 进入IIS管理器,右键单击我的网站> 添加应用程序
- 对于应用程序别名:“静态” ,对于路径:
- /!\重要/!\ 左键单击新创建的“静态”应用程序,转到“映射管理器”,然后删除关联的FastCGIModule
无需在settings.py中执行任何操作,也无需执行collectstatic命令。
那之后工作正常!
感谢您的帮助。