加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

什么是使用AngularJS与Django的最佳实践

发布时间:2020-12-17 09:07:43 所属栏目:安全 来源:网络整理
导读:我即将开始一个项目与AngularJS的客户端和Django的服务器端。 什么是最好的做法,使他们的工作像最好的朋友(静态文件,auth,部署等) 有很多方法可以通过Django模板为客户端模板提供有效的优化;然而,考虑到Django和AngularJS的模板语言之间的相似之处,这里
我即将开始一个项目与AngularJS的客户端和Django的服务器端。

什么是最好的做法,使他们的工作像最好的朋友(静态文件,auth,部署等)

有很多方法可以通过Django模板为客户端模板提供有效的优化;然而,考虑到Django和AngularJS的模板语言之间的相似之处,这里几乎不值得努力。我将把静态服务AngularJS与 Django REST Framework为这种大多数项目。

我的urls.py的操作顺序几乎总是Django REST框架URL(尽可能严格地写),后面是一个通用模式,它指向我的基本AngularJS应用程序模板在我的STATIC_ROOT dir中的本地测试/开发场景:

if settings.DEBUG:
    urlpatterns += patterns('django.contrib.staticfiles.views',url(r'','serve',{
            'document_root': settings.STATIC_ROOT,'path': '/base.html'}
        ),)

通过将所有不匹配的请求指向同一个应用/模板,您可以开始使用URL和路由的history-hack方法(如果您希望使用hashtag)。如果您只打算坚持使用主题标签,则您的最终网址匹配可能更严格(例如,匹配/(网址根)与r’^ $’)。

在生产中,我将使用逆向代理或慢客户端HTTP服务器(如nginx)来提供AngularJS(静态)内容,将对REST服务的请求代理到Django WSGI应用程序。

为了与Django REST框架进行通信,我喜欢使用类样的JS对象来封装AngularJS应用程序和Django REST框架中的数据。为此,我使用angular-django-rest-resource来生成代表我在REST框架视图中公开的Django模型类的类。

为了在查询angular-django-rest-resource可以获得资源的最大灵活性,我将为REST框架安装django-filter后端,如描述here.这允许JS资源请求由参数约束的Django对象(例如/ polls /?author = 345& finished = 1)。

如果您在服务器的单独域上部署Django和REST操作,从而提供AngularJS主模板(例如,如果您在HTML的其他Internet域上使用第三方CDN),那么重要的是允许跨域请求这些资源。为此,我推荐django-cors-headers中间件。

我希望这是有帮助的。这不是最好的做法集,但它是一个为我工作。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读