簡體   English   中英

Bluemix Cloud Foundry,在Django中引用靜態文件

[英]Bluemix Cloud Foundry, Referencing static files in Django

我正在嘗試使用Bluemix Cloud Foundry和Python 3.5.3學習Django開發。

我目前正在運行一個hello world網站。 但是我無法提供CSS之類的靜態文件。

我認為查找靜態文件的設置不正確。


我所投放的頁面應如下所示:

正確的結果

我得到的是:

實際結果


我在settings.py中使用Debug = True在本地獲得了正確的結果,但是使用Debug = False卻沒有。 無論使用Debug設置如何,將其推送到Bluemix時都無法獲得正確的結果。

我的項目文件夾設置如下:

項目文件夾結構

django staticfiles應用程序位於我的Installed_Apps變量中。

在我的settings.py文件中,我有:

...
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
# STATICFILES_DIRS = [
#     os.path.join(BASE_DIR, 'bluemixsite/static'),
#     os.path.join(BASE_DIR, 'bluemixapp/static'),
# ]

STATICFILES_DIRS與查找靜態文件似乎沒有什么區別。

模板頁面(正在加載)包括以下內容:

...
{% load static %}

    <link rel="stylesheet" type="text/css" href="{% static 'bluemixapp/stylesheet.css' %}" />
</head>
....

使用Debug = False,在firefox中檢查時,我可以在本地和bluemix的樣式編輯器下看到此消息:

The requested URL /static/bluemixapp/stylesheet.css was not found on this server.

因此,要么我沒有將文件放在正確的位置,要么Django無法解析服務器上靜態文件的路徑。


我嘗試了collectstatic命令,該命令將所有靜態文件復制到project_root/static/文件夾中,但這沒什么區別。

顯然,Bluemix拒絕運行linux終端(啟動時它們凍結或崩潰),因此我無法以這種方式在服務器端執行任何操作。

我無法將靜態文件加載到單獨的服務器上。

任何建議,將不勝感激。

嘗試改為從靜態文件加載靜態:

{% load static from staticfiles %}

正如這里提到的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM