小编Ben*_*vis的帖子

AngularJS应用程序初始化之前的$ http请求?

为了确定用户的会话是否经过身份验证,我需要在加载第一个路由之前向服务器发出$ http请求.在加载每个路由之前,身份验证服务会检查用户的状态以及路由所需的访问级别,如果用户未针对该路由进行身份验证,则会重定向到登录页面.然而,当第一次加载应用程序时,它不知道用户,因此即使他们有经过身份验证的会话,它也将始终重定向到登录页面.所以为了解决这个问题,我试图向服务器请求用户状态作为应用程序初始化的一部分.问题是显然$ http调用是异步的,那么在请求完成之前我如何阻止应用程序运行?

我对Angular和前端开发很新,所以我的问题可能是对javascript而不是Angular的误解.

javascript angularjs

19
推荐指数
1
解决办法
1万
查看次数

在SQLAlchemy中查询混合属性

我将文件路径存储为数据库中的相对路径,但我在使用混合属性时将其映射为绝对路径.当我使用此属性进行查询时,它会抛出错误.这是模型:

class File(Base):
    __tablename__ = 'files'
    ...

    _f_path = Column(Unicode(30))

    ...

    @hybrid_property
    def f_path(self):
        env = shelve.open('environment')
        return os.path.join(env['project_dir'], self._f_path)

    @f_path.setter
    def f_path(self, _f_path):
        self._f_path = _f_path
Run Code Online (Sandbox Code Playgroud)

当我运行此查询(其中ref是一个unicode字符串):

session.query(File).filter_by(f_path=ref).first()
Run Code Online (Sandbox Code Playgroud)

它给了我这个错误:

File "/Users/Ben/Dropbox/Giraffe/giraffe_server/giraffe/file_handlers/maya.py", line 135, in process_file
    rf = session.query(File).filter_by(f_path=str(ref)).first()
  File "build/bdist.macosx-10.7-intel/egg/sqlalchemy/orm/query.py", line 1211, in filter_by
    for key, value in kwargs.iteritems()]
  File "build/bdist.macosx-10.7-intel/egg/sqlalchemy/orm/util.py", line 597, in _entity_descriptor
    return getattr(entity, key)
  File "build/bdist.macosx-10.7-intel/egg/sqlalchemy/ext/hybrid.py", line 681, in __get__
    return self.expr(owner)
  File "/Users/Ben/Dropbox/Giraffe/giraffe_server/giraffe/model.py", line 133, in f_path
    print "\n\n\n[model.py:File@f_path hybrid_property] returning: ", os.path.join(env['project_dir'], self._f_path) …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy properties

10
推荐指数
1
解决办法
3871
查看次数

使用browserify gulp:找不到模块src/js/main.js

我正在尝试使用Gulp和browserify来设置基本构建,但在尝试运行默认任务时仍然看到此错误:

Error: Cannot find module 'src/js/main.js' from '/Users/ben/dev/git/myapp/'
Run Code Online (Sandbox Code Playgroud)

gulpfile.js

var gulp = require('gulp');
var browserify = require('browserify');
var del = require('del');
var source = require('vinyl-source-stream');


var paths = {
    main_js: ['src/js/main.js'],
    js: ['src/js/*.js']
};

gulp.task('clean', function(done) {
    del(['build'], done);
});

gulp.task('js', ['clean'], function() {
    browserify(paths.main_js)
        .bundle()
        .pipe(source('bundle.js'))
        .pipe(gulp.dest('./build/'));
});

gulp.task('watch', function() {
    gulp.watch(paths.js, ['js']);
});

gulp.task('default', ['watch', 'js']);
Run Code Online (Sandbox Code Playgroud)

main.js

console.log("Hello!")
Run Code Online (Sandbox Code Playgroud)

MYAPP /

.
??? gulpfile.js
??? node_modules
?   ??? browserify
?   ??? del
?   ??? gulp
?   ??? vinyl-source-stream
??? …
Run Code Online (Sandbox Code Playgroud)

javascript node.js browserify gulp

6
推荐指数
1
解决办法
1万
查看次数

Python:使用Cherrypy通过POST发送和接收大文件

我有一个小巧的Web服务器,需要能够通过http发布接收大文件。我目前有工作,但是一旦发送的文件太大(大约200mb),它就会失败。我正在使用curl发送测试帖子请求,当我尝试发送太大的文件时,curl吐出“随请求发送的实体超过了允许的最大字节数”。到处搜寻,这似乎是cherrypy的错误。

所以我猜要发送的文件需要分块发送吗?我用mmap尝试了一些东西,但是我做不到。处理文件上传的方法是否也需要能够接受大块数据?

python upload post http cherrypy

3
推荐指数
1
解决办法
3635
查看次数

Python Cherrypy:禁用请求记录

我正在尝试使CherryPy对HTTP请求的记录保持沉默。我试过了

cherrypy.log.access_file = None
Run Code Online (Sandbox Code Playgroud)

据我了解,它应该删除访问日志的处理程序,但是我似乎无法使其正常工作。

python cherrypy

2
推荐指数
3
解决办法
2721
查看次数