当前位置: 首页 > 面试题库 >

角,Django和CSRF

呼延英奕
2023-03-14
问题内容

来自http://docs.angularjs.org/api/ng。$
http,它说我们应该设置默认标头以包含令牌,因此我正在关注它。

我的代码是这样的

var myapp = angular.module('myapp', ['ngCookies', 'ui.bootstrap']).
    config(['$routeProvider', function($routeProvider, $httpProvider, $cookies){
        $routeProvider.
            when('/', {
                templateUrl: '/partials/home.html',
                controller: HomeCtrl
            }).
            when('/game/:gameId/shortlist/create',{
                templateUrl: '/partials/create-shortlist.html',
                controller: CreateShortlistCtrl
            }).
            otherwise({redirectTo: '/'});
    }]);

myapp.run(function($rootScope, $http, $cookies, $httpProvider){
    $http.get('/api/get-current-user').success(function(data){
        $rootScope.current_user = data;
        $rootScope.current_team = $rootScope.current_user.team;
    });
    $http.get('/api/get-current-season').success(function(data){
        $rootScope.current_season = data;
    });
    $rootScope.csrf_token = $cookies.csrftoken;
    console.log($httpProvider.defaults.headers.common);
    //$httpProvider.defaults.headers.post['X-CSRFToken'] = $cookies.csrftoken;
});

如您所见,我已经应用了多种方法,但是无法使用csrf令牌设置标头。我遇到的两个错误是

未捕获的错误:未知提供程序:$ httpProviderProvider <-$ httpProvider

我究竟做错了什么?


问题答案:

如果您使用AngularJS 1.1.3或更高版本,则可以使用xsrfHeaderNamexsrfCookieName

var myapp = angular.module('myapp', ['ngCookies', 'ui.bootstrap']).
  config(['$routeProvider', function($routeProvider, $httpProvider, $cookies){
    $httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken';
    $httpProvider.defaults.xsrfCookieName = 'csrftoken';
    ...

请参阅文档1.1.3中的$ location。



 类似资料:
  • 问题内容: 我正在寻找有关其他人如何设计此方法的意见。我将提供基于类(Django组)的视图。 例如,用户组将确定他或她将有权访问哪些视图/模板。我正在考虑也许在表中存储用于查看功能的路径,以确定用户的链接栏将由什么组成。过滤器规范也可以存储,以确定哪些行将填充这些模板。 医院护理单位就是一个很好的例子。一个单位的护士不必看整个医院的病人。他们只需要去看病人。同一部门的医生也只需要看望那些患者,但

  • 问题内容: 除了的ORM 之外,还有其他人使用过吗? 我想将Django的ORM用于对象操作,将SQLalchemy用于复杂的查询(例如那些需要左外部联接的查询)。 可能吗? 注意:我知道,但是该项目似乎尚未准备就绪。 问题答案: 我会怎么做 在Django orm中定义架构,让它通过syncdb编写数据库。你将获得管理界面。 在view1中,你需要一个复杂的联接

  • 我被推特登录所困扰。现在我意识到,这是一个分为几步的事情(与OAuth2相比相当愚蠢): > 向/request\u令牌endpoint发出POST请求,以获取初始令牌 使用(1)中的令牌参数将用户重定向到 /authenticate以获取另一个令牌 使用(2)中的令牌向/访问令牌发出另一个POST请求,并最终获得所需的令牌。 现在我有点纠结于(1):twitter API总是返回错误215,错误

  • 我想在我的django项目中使用fullcalendar jquery插件。我有一个入门模型 它只有一个日期属性。我知道fullcalendar使用start和end,但也会使用start和end:) 我的ajax视图如下 我的模板.html 我必须在我的数据库中的测试对象,所有在今天的日期和四个以上在以前的日子。我还启用了时区,因此我的模型存储了感知的datetime对象 但fullcalend

  • 问题内容: 我正在尝试通过Django管理员上传图像,然后在前端的页面中或仅通过URL查看该图像。 请注意,所有这些都在我的本地计算机上。 我的设置如下: 我已将upload_to参数设置为’images’,并且文件已正确上传到目录: 但是,当我尝试通过以下URL访问图像时: 我收到404错误。 我需要为上传的媒体设置特定的URLconf模式吗? 任何建议表示赞赏。 问题答案: Django> =

  • 问题内容: 对于Django 1.1。 我的models.py中有这个: 当更新一行时,我得到: 我数据库的相关部分是: 这值得关注吗? 附带问题:在我的管理工具中,这两个字段没有显示。那是预期的吗? 问题答案: 设置了属性的任何字段都将继承,因此不会显示在管理面板中。过去有过关于使参数消失的讨论,尽管它们仍然存在,但我认为你最好只使用自定义save()方法。 因此,为了使其正常工作,我建议不要使