Django 1.6 + AngularJS v1.2.6 + Amazon Aws

标签 django angularjs amazon-web-services static amazon-s3

我在将现有的 django 应用程序与 angular 集成时遇到问题,我已将 Amazon AWS 与 Boto 设置为静态文件,但在使用 AngularJs 时出现此错误:

阻止从 $sceDelegate 策略不允许的 url 加载资源。网址:

所以我调查并尝试这样做:

$sceDelegateProvider.resourceUrlWhitelist(['self',djangoStaticURL]);

在我的模块配置上,但 dopes 似乎不起作用,所以我尝试了:

templateUrl: $sceProvider.trustAsResourceUrl(djangoStaticURL + 'app/views/main.html'),

并获取 $sce provider not defined,这是我的完整模块:

angular.module('portfolioApp', [
  'ngCookies',
  'ngResource',
  'ngSanitize',
  'ngRoute',
  'portfolioApp.filters',
]).config(function ($sce ,$routeProvider, $sceDelegateProvider) {
  $sceDelegateProvider.resourceUrlWhitelist(['self',djangoStaticURL]);
  $routeProvider
    .when('/', {
      templateUrl: $sce.trustAsResourceUrl(djangoStaticURL + 'app/views/main.html'),
      //templateUrl: djangoStaticURL + 'app/views/main.html',
      controller: 'MainCtrl'
    })
    .otherwise({
      redirectTo: '/'
    });
});

那么这是个坏主意吗?我应该从 django 做所有的路由吗?还是我缺少什么?

最佳答案

我终于通过像这样编辑 AWS CORS 配置解决了这个问题:

选择您的静态文件所在的存储桶 选择属性 选择编辑 CORS 配置

粘贴这样的东西

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>http://arlefreak.herokuapp.com/</AllowedOrigin>
        <AllowedMethod>PUT</AllowedMethod>
        <AllowedMethod>POST</AllowedMethod>
        <AllowedMethod>DELETE</AllowedMethod>
        <AllowedHeader>*</AllowedHeader>
    </CORSRule>
    <CORSRule>
        <AllowedOrigin>http://*.arlefreak.com/</AllowedOrigin>
        <AllowedMethod>PUT</AllowedMethod>
        <AllowedMethod>POST</AllowedMethod>
        <AllowedMethod>DELETE</AllowedMethod>
        <AllowedHeader>*</AllowedHeader>
    </CORSRule>
    <CORSRule>
        <AllowedOrigin>*</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
    </CORSRule>
</CORSConfiguration>

更多信息请访问:http://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html

关于Django 1.6 + AngularJS v1.2.6 + Amazon Aws,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25655527/

相关文章:

javascript - 在 Django python url 模板标签中获取 javascript 变量的值

django - Django UpdateView 中的 {{ form.object }}

python - Getting Started with Python on Heroku - Run the app locally 步骤问题

javascript - 通过我的 api 发送数据不起作用

javascript - Angularjs。 NG-重复。一组单选按钮无法正常工作

amazon-web-services - 不使用 route53 将 Cloudflare 指向 AWS EC2 服务器

django - 从 View 运行自定义管理命令

sql-server - 尝试在 Amazon RDS 上启动实例时如何解决错误?

linux - 即使公共(public) IP 地址可能发生变化,Amazon EC2 实例能否拥有静态公共(public) DNS?

css - 修复 Angular-UI-Bootstrap 中的轮播容器大小