【问题标题】:Serving static index.html in django在 django 中提供静态 index.html
【发布时间】:2016-01-18 06:47:58
【问题描述】:

问题是,我在一个模块上有一个 angular + cordova 应用程序。我只想要来自 django 的 REST api 用于网络服务器。没有视图或任何东西(仅用于角度视图)。

如何使用 django 提供静态 index.html?我需要不同的项目结构吗?我是 django 的新手。

提前致谢!

【问题讨论】:

  • 您是否可以将此 index.html 页面放入您的 server/templates 文件夹中?编辑:顺便说一句,对于 REST api,最好不要返回 HTML 页面(而是返回 JSON 对象)。所以只是为了验证,你希望你的 REST api 服务于一个 html 页面?
  • 是的。我在我的科尔多瓦应用程序中使用的同一个(index.html)

标签: python angularjs django cordova meanjs


【解决方案1】:

你可以直接使用TemplateView

from django.views.generic import TemplateView

...
url(r'^$', TemplateView.as_view(template_name='index.html'))

请记住,您需要 configure your templates folder 才能仅按名称调用 .html 文件。

【讨论】:

  • 好的,新的问题伙伴。我所有的资产(CSS/JS 等)都在 app/www... 中,而 django 无法找到它们。如何使用静态文件来克服这个问题?
  • 在这里你会找到你需要的配置:statics files。请注意使用完整路径的示例。
  • 很遗憾我尝试了STATIC_URL = '/app/www/'STATICFILES_DIRS = ( "/app/www", ),但都没有成功
  • 那是你的完整路径吗?
  • 如何在模板中加载静态文件?您应该发布一个新问题,提供更多详细信息。
【解决方案2】:

首先,将这个 index.html 页面放在你的 server/templates 文件夹中,以便 Django 知道它。

然后,在您的 URLs.py 中执行此操作:

from django.views.generic import TemplateView

urlpatterns = [
    url(r'^$', TemplateView.as_view(template_name='index.html')),
]

【讨论】:

    猜你喜欢
    • 2013-08-02
    • 1970-01-01
    • 1970-01-01
    • 2020-08-08
    • 2017-02-21
    • 2012-08-02
    • 2017-05-24
    • 1970-01-01
    • 2014-07-25
    相关资源
    最近更新 更多