Vin*_*inu 0 css python django azure django-staticfiles
我正在尝试将一个简单的 Django Web 应用程序部署到 Azure 网站。我在 Visual Studio 中使用 Python 工具,因为我无法通过任何其他方式远程工作。我有一个问题,我的模板加载但没有静态文件加载。我创建了一个名为static的文件夹并更新了 settings.py 如下:
STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),)
STATIC_ROOT = ''
STATIC_URL = '/static/'
Run Code Online (Sandbox Code Playgroud)
在我的模板(称为 index.html)中,它也存储在根目录中的模板文件夹中,我指的是以下文件: <img class='social' src="{% static 'VSpace/images/128-twitter.png' %}"/>
该页面使用纯 HTML(无 CSS 或图像)加载,在浏览器的开发人员视图中,我看到在请求图像和其余静态文件时返回了 404。
我已经搜索了几个小时的解决方案并进行了各种更改。有谁知道我可能做错了什么?
在 Azure 网站上,python 应用程序使用 FastCGI 托管在 IIS 上。使用前面的 web.config 配置,所有请求都被路由到 Django 应用程序。并且使用VS部署Django应用,app文件夹和static文件夹都在根文件夹中。所以我们可以手动配置IIS设置,这里是我的步骤:
1、我用VS创建了一个Django项目,我部署在Azure Web应用上,默认设置,应该是这样的:
STATIC_ROOT = path.join(PROJECT_ROOT, 'static').replace('\\', '/')
STATIC_URL = '/static/'
STATICFILES_DIRS = ()
Run Code Online (Sandbox Code Playgroud)
2、通过URL格式登录你的Web应用程序的Kudu Console
https://<your_web_site_name>.scm.azurewebsites.net/DebugConsole
Run Code Online (Sandbox Code Playgroud)
,并在文件夹D:\home\site\wwwroot\static 中访问,'type nul>web.config'在命令行中键入以创建一个空web.config文件。
3、Edit web.config copy3, Edit web.config 将以下代码复制到文件中,在Azure门户中保存并重启网站。
<?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>
Run Code Online (Sandbox Code Playgroud)
我们可以在使用 FastCGI 使用 IIS 在 Windows 下运行 Django 中获得更多信息
| 归档时间: |
|
| 查看次数: |
3041 次 |
| 最近记录: |