为了确定用户的会话是否经过身份验证,我需要在加载第一个路由之前向服务器发出$ http请求.在加载每个路由之前,身份验证服务会检查用户的状态以及路由所需的访问级别,如果用户未针对该路由进行身份验证,则会重定向到登录页面.然而,当第一次加载应用程序时,它不知道用户,因此即使他们有经过身份验证的会话,它也将始终重定向到登录页面.所以为了解决这个问题,我试图向服务器请求用户状态作为应用程序初始化的一部分.问题是显然$ http调用是异步的,那么在请求完成之前我如何阻止应用程序运行?
我对Angular和前端开发很新,所以我的问题可能是对javascript而不是Angular的误解.
我将文件路径存储为数据库中的相对路径,但我在使用混合属性时将其映射为绝对路径.当我使用此属性进行查询时,它会抛出错误.这是模型:
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) 我正在尝试使用Gulp和browserify来设置基本构建,但在尝试运行默认任务时仍然看到此错误:
Error: Cannot find module 'src/js/main.js' from '/Users/ben/dev/git/myapp/'
Run Code Online (Sandbox Code Playgroud)
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)
console.log("Hello!")
Run Code Online (Sandbox Code Playgroud)
.
??? gulpfile.js
??? node_modules
? ??? browserify
? ??? del
? ??? gulp
? ??? vinyl-source-stream
??? …Run Code Online (Sandbox Code Playgroud) 我有一个小巧的Web服务器,需要能够通过http发布接收大文件。我目前有工作,但是一旦发送的文件太大(大约200mb),它就会失败。我正在使用curl发送测试帖子请求,当我尝试发送太大的文件时,curl吐出“随请求发送的实体超过了允许的最大字节数”。到处搜寻,这似乎是cherrypy的错误。
所以我猜要发送的文件需要分块发送吗?我用mmap尝试了一些东西,但是我做不到。处理文件上传的方法是否也需要能够接受大块数据?
我正在尝试使CherryPy对HTTP请求的记录保持沉默。我试过了
cherrypy.log.access_file = None
Run Code Online (Sandbox Code Playgroud)
据我了解,它应该删除访问日志的处理程序,但是我似乎无法使其正常工作。
python ×3
cherrypy ×2
javascript ×2
angularjs ×1
browserify ×1
gulp ×1
http ×1
node.js ×1
post ×1
properties ×1
sqlalchemy ×1
upload ×1