Django和静态网站

时间:2013-12-05 03:32:04

标签: javascript css django html5 angularjs

嘿,我是Django框架的新手。 我选择Django作为我的后端框架,angular.js作为我的前端框架。 我已经建立了自己的网站(仅限静态文件:css.html,javascript) 我有几个主要问题:

  1. 在我的网址的路由管理中,我是否只能重定向到index.html,从那里所有的路由将在客户端自动处理。这意味着我只需要在django视图中编写一个python代码?如果是的话代码是什么? 是这样的:

    urlpatterns = patterns('',     url(r'^ $',views.index,name ='index'),)

  2. angular.js框架是否存在django框架的问题,我需要了解一下? 例如,我看到django模板在html代码中使用花括号,也是angular.js使用的。

2 个答案:

答案 0 :(得分:3)

Angular和Django可以很好地发挥。

通常,您有一个网址(您的主页),您的角应用程序所在的位置。从那时起,如果您愿意,您的路由的其余部分将由Angular处理。

要为您的应用加载数据,您可能希望向/ajax/端点发出ajax请求,您要为此写入返回json的Django视图。

具体到地址2:如果你在模板中使用Angular变量(即:{{ myvar }}),你需要将它们包装在{% verbatim %}中,否则Django会在页面加载时尝试渲染它们,例如:

{% verbatim %}
    <!-- django does not try to render this now -->
    <div>{{ angular_var }}</div>
{% endverbatim %}

希望有所帮助, 亚伦

答案 1 :(得分:1)

  1. 是的,你可以而且你做到了。从你的代码中,Django只处理“/”url。此外,请确保前端有路由器代码。
  2. 如果您不使用Django模板,一切都会好的。如果你在同一个文件中使用Django模板和AngularJS,那将很容易导致冲突(Django模板和AngularJS都使用“{{}}”语法)。也许你可以阅读这个项目:django-angular