Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Azure上未提供Django静态文件_Python_Css_Django_Azure_Django Staticfiles - Fatal编程技术网

Python Azure上未提供Django静态文件

Python Azure上未提供Django静态文件,python,css,django,azure,django-staticfiles,Python,Css,Django,Azure,Django Staticfiles,我正在尝试将一个简单的Django web应用程序部署到Azure网站。我正在使用用于VisualStudio的Python工具,因为我找不到任何其他远程工作的方法。我有一个问题,我的模板加载,但没有静态文件将加载。我创建了一个名为static的文件夹,并更新了settings.py,如下所示: STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),) STATIC_ROOT = '' STATIC_URL = '/static/' 在我的模

我正在尝试将一个简单的Django web应用程序部署到Azure网站。我正在使用用于VisualStudio的Python工具,因为我找不到任何其他远程工作的方法。我有一个问题,我的模板加载,但没有静态文件将加载。我创建了一个名为static的文件夹,并更新了settings.py,如下所示:

STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),)
STATIC_ROOT = ''
STATIC_URL = '/static/'
在我的模板(称为index.html)中,它也存储在根目录中的templates文件夹中,我对这些文件的引用如下:

页面加载纯HTML(没有CSS或图像),在浏览器的开发者视图中,我看到在请求图像和其他静态文件时返回了404


我花了几个小时寻找解决方案,做了各种各样的改变。有人知道我做错了什么吗?

在Azure网站上,python应用程序使用FastCGI托管在IIS上。在前面的web.config配置中,所有请求都被路由到Django应用程序。使用VS部署Django应用程序时,应用程序文件夹和静态文件夹都位于根文件夹中。因此,我们可以手动配置IIS设置,以下是我的步骤:

1,我使用VS创建Django项目,并使用默认设置部署在Azure Web app上,它们应该如下所示:

STATIC_ROOT = path.join(PROJECT_ROOT, 'static').replace('\\', '/') 
STATIC_URL = '/static/'
STATICFILES_DIRS = ()
2、通过URL格式登录Web app的酷都控制台

https://<your_web_site_name>.scm.azurewebsites.net/DebugConsole

我们可以在Azure网站上的

中获得更多信息,python应用程序使用FastCGI托管在IIS上。在前面的web.config配置中,所有请求都被路由到Django应用程序。使用VS部署Django应用程序时,应用程序文件夹和静态文件夹都位于根文件夹中。因此,我们可以手动配置IIS设置,以下是我的步骤:

1,我使用VS创建Django项目,并使用默认设置部署在Azure Web app上,它们应该如下所示:

STATIC_ROOT = path.join(PROJECT_ROOT, 'static').replace('\\', '/') 
STATIC_URL = '/static/'
STATICFILES_DIRS = ()
2、通过URL格式登录Web app的酷都控制台

https://<your_web_site_name>.scm.azurewebsites.net/DebugConsole

我们可以在

中获得更多信息。您是否已从/static/?配置服务器以实际提供服务丹尼尔,我不确定您的意思。我使用Python开发服务器测试了我的代码,效果很好。问题发生在发布到Azure之后,我已经在那里配置了一个web应用程序。然后我不敢相信你已经“搜索了几个小时”。这是关于Django最常见的问题;然而,文档清楚地表明,Django本身并不在生产中提供资产,您必须配置web服务器来实现这一点。我真的不明白你怎么会错过它。丹尼尔,但它不应该与“DEBUG=True”一起工作吗?请原谅我,我对这件事真的很陌生,有些东西我就是不懂。人们如何配置Azure web服务器来提供静态文件?请共享您认为可能有帮助的任何链接。您是否已将服务器配置为从/static/?Daniel实际提供服务,我不确定您的意思。我使用Python开发服务器测试了我的代码,效果很好。问题发生在发布到Azure之后,我已经在那里配置了一个web应用程序。然后我不敢相信你已经“搜索了几个小时”。这是关于Django最常见的问题;然而,文档清楚地表明,Django本身并不在生产中提供资产,您必须配置web服务器来实现这一点。我真的不明白你怎么会错过它。丹尼尔,但它不应该与“DEBUG=True”一起工作吗?请原谅我,我对这件事真的很陌生,有些东西我就是不懂。人们如何配置Azure web服务器来提供静态文件?请分享你认为有帮助的链接。嗨,加里。更改web.config并重新启动网站后,我尝试访问该网站,并收到以下消息:“您正在查找的资源已被删除、名称已更改或暂时不可用。”。看来我没有很好地听从你的建议。我签出了您在最后提供的链接,并进行了必要的更改。我现在不太明白,但我会更详细地看一看。我想我将来会设置一个CDN来处理静态文件。谢谢:)通过使用VS部署Django,staticfiles文件夹将通过IIS启动命令复制到应用程序根文件夹。Web.config控制对静态文件的请求。根据您的错误消息,我认为在Django项目中设置.py有问题。不管怎样,你已经找到了解决问题的方法。祝贺你,你好,加里。更改web.config并重新启动网站后,我尝试访问该网站,并收到以下消息:“您正在查找的资源已被删除、名称已更改或暂时不可用。”。看来我没有很好地听从你的建议。我签出了您在最后提供的链接,并进行了必要的更改。我现在不太明白,但我会更详细地看一看。我想我将来会设置一个CDN来处理静态文件。谢谢:)通过使用VS部署Django,staticfiles文件夹将通过IIS启动命令复制到应用程序根文件夹。Web.config控制对静态文件的请求。根据您的错误消息,我认为在Django项目中设置.py有问题。不管怎样,你已经找到了解决问题的方法。祝贺