【问题标题】:What is the best practice method of using Angular JS routing with a Django backend?在 Django 后端使用 Angular JS 路由的最佳实践方法是什么?
【发布时间】:2015-03-20 18:39:13
【问题描述】:

我在 Django 中创建了一个 REST API 来从我的数据库中提取数据。我有一个使用 Angular 构建的前端应用程序,它调用相同的 API。 API 有几个 URL,我还有另一个 URL 来提供 index.html 并处理路由。 Angular 将“#/”注入到 URL 中。理想情况下我不会这样,但是当我使用 HTML5 模式和位置​​提供程序时,Django 会选择 URL,但在其列表中看不到指定的 URL,因此会引发错误。

我在网上看到了一些资源,但对我来说不是很清楚。

基本上,关于使用 Django 后端创建 Angular 应用程序的公认最佳实践是什么。

感谢您的帮助!提前谢谢你。

【问题讨论】:

标签: django angularjs url django-urls angular-routing


【解决方案1】:

如果您想为每个 url 提供 index.html,然后以角度进行路由,您可以在 <project_folder>.urls.py 中执行类似的操作

from <your_app> import views
urlpatterns = patterns('',
    url(r'^.*$', views.index),
)

【讨论】:

  • 谢谢! $ 之前的 .* 是什么意思?
  • 字面意思是一切。每个 URL 都将匹配这个正则表达式。因此,对于您请求的每个 URL,您的 index.html 都会被发送..
  • 在附加斜线时要小心。如果您使用上述正则表达式,它将捕获 所有 url,包括那些缺少斜杠的 URL,即使 APPEND_SLASH 在您的设置文件中设置为 True。您可以手动设置您的其他路由以包含带有?$ 的可选斜杠。例如:(r'^log/?$', log_viewer)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-01
  • 2018-04-07
  • 2015-11-22
  • 2017-11-04
  • 1970-01-01
  • 2015-11-21
  • 1970-01-01
相关资源
最近更新 更多