2014-09-19 59 views
0

我想將我的網站移動到包含大量圖像和css文件的django。此外,它使用應用程序緩存來緩存靜態文件。由於我有其他應用程序在django上工作,我想將此靜態文件也移動到django.So是否可以運行網頁而不動態地呈現靜態文件並使用頁面僅作爲靜態網頁(靜態文件路徑相對於不使用django的靜態文件夾的HTML)?這個怎麼做?在沒有分離靜態文件的情況下將Django用於網站

回答

0

假設HTML也是靜態的,您應該將所有內容(HTML和相關文件)移動到一個靜態文件夾中(無需分離HTML模板,因爲它也是靜態的),然後您可以將它映射到任何你想要使用你的網絡服務器的URL,例如你可以把它們裏面{{ STATIC_ROOT }}/my-page/,並映射example.com/my-page/該文件夾的文件系統上的

運行collectstatic,Django會複製/生成的文件系統中的靜態文件到您的STATIC_ROOT文件夾https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#collectstatic

然後使用Apache Web服務器或Nginx直接爲您的/my-page網址提供服務,而無需點擊您的Django應用。 (在Django中設置爲STATIC_URL),而其他請求被轉發到您的Django應用程序

因此,例如您的Django應用程序將在127.0.0.1:8000上運行,而nginx在默認的HTTP/HTTPS端口上運行,並使用例如proxy_pass跟你的Django應用程序的動態內容的answer.It

​​

+0

由於是一個選項...可以'ssi'用於相同的,因此一切都可以的Django的同一端口上運行應用程序嗎?我試過'ssi',但得到錯誤。我問這個問題[這裏](https://stackoverflow.com/questions/26075852/ssi-tag-not-working-didnt-have-permission-to-include-file) – 2014-09-27 16:02:00

+0

在Apache服務器上生成相對於'public_html dir'.So如果使用collectstatic,我將靜態文件複製到'STATIC_ROOT'中,然後使用apache服務器提供這些文件將產生像'example.com/static_root/my-page/'這樣的URL。我不知道如何映射對於'example.com/my-page /'就像你說的那樣。請給我添加一些細節如何做。 – 2014-09-28 06:01:37

相關問題