2014-09-19 34 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

相关问题