用户点击此链接:
<span onclick="slow_function_that_fills_the_panel(); $('#panel').show();">
Run Code Online (Sandbox Code Playgroud)
现在我正在模拟phantomjs中的点击:
page.evaluate(
function() { $("#panel").click(); }
);
console.log('SUCCESS');
phantom.exit();
Run Code Online (Sandbox Code Playgroud)
Phantom在慢速函数结束执行之前退出,DIV变为可见.我该如何实施等待?
问题:我想维护文件的"集合".这将有助于构建时间和灵活性.例如,每当我编辑我的app.js文件时,我都不想重新编译我的所有twitter引导程序文件.
我当然可以通过2个任务和2个监视声明实现这一点 - 问题是除了文件数组之外,任务是相同的.理想情况下,我想在watch声明中传递这些作为参数有没有办法做类似下面的伪代码?:
var files = {
scripts: [
'www/assets/scripts/plugins/**/*.js',
'www/assets/scripts/main.js',
],
vendor: [
'vendor/jquery/dist/jquery.js',
'vendor/jqueryui/ui/jquery.ui.widget.js',
'vendor/holderjs/holder.js'
],
};
...
gulp.task('js', ['lint'], function (files, output) {
return gulp.src(files)
.pipe(debug())
.pipe(concat(output))
.pipe(uglify({outSourceMap: true}))
.pipe(gulp.dest(targetJSDir))
.pipe(notify('JS minified'))
.on('error', gutil.log)
});
...
gulp.watch('scripts/**/*.js', ['lint', 'js'], files.scripts, 'app.min.js');
gulp.watch('vendor/**/*.js', ['lint', 'js'], files.vendor, 'vendor.min.js');
Run Code Online (Sandbox Code Playgroud)
翻转另一种方式:是命名空间调用任务的监视声明吗?这样我可以检查哪个手表触发了任务,并以任务本身为条件.
我真的希望这是一个简单的例子,让我想念复杂的Python2导入机制.我有以下设置:
$> ls -ltr pypackage1
total 3
-rw-r--r-- 1 pelson pelson 0 Aug 17 19:20 io.py
-rw-r--r-- 1 pelson pelson 0 Aug 17 19:20 __init__.py
-rw-r--r-- 1 pelson pelson 57 Aug 17 19:22 code.py
$> cat pypackage1/code.py
from __future__ import absolute_import
import zipfile
Run Code Online (Sandbox Code Playgroud)
即我只是一个存根包空__init__.py和io.py和2号线code.py的文件.
我可以导入pypackage1:
$> python -c "import pypackage1.code"
Run Code Online (Sandbox Code Playgroud)
但我无法运行该code.py文件:
$> python pypackage1/code.py
Traceback (most recent call last):
File "pypackage1/code.py", line 3, in <module>
import zipfile
File "python2.7/zipfile.py", line …Run Code Online (Sandbox Code Playgroud) 我想在 Django/DRF 中实现以下目标:
实现一个端点,根据给定的用户 ID,返回其权限列表。(我的意思是模型User和Permission来自django.contrib.auth.models)。
现在,这非常简单,我可以使用下面的代码来获取这些内容:
class UserPermissions(RetrieveUpdateDestroyAPIView):
serializer_class = PermissionSerializer
def get(self, request, pk):
permissions = User.objects.get(pk=pk).get_all_permissions()
print User.objects.get(pk=pk).user_permissions
data = {
'permissions': permissions
}
serializer = PermissionSerializer(data)
return Response(serializer.data, status=status.HTTP_200_OK)
Run Code Online (Sandbox Code Playgroud)
这是我得到的回应:
{
"permissions": [
"auth.add_user",
"auth.add_group",
"auth.add_userproxy",
"auth.change_group",
"auth.change_user",
"auth.delete_permission",
"evidence.view_all_customers"
]
}
Run Code Online (Sandbox Code Playgroud)
然而,这并不完全是我想要的。我想返回系统中所有权限的列表,其中包含给定用户的每个单独权限的真/假值。
当然,我尝试获取完整的权限列表,将它们与用户的权限进行比较,但这就是我偶然发现一个问题的地方:
Permission我可以从中django.contrib.auth.models获取系统中完整的权限列表的模型具有以下属性:
name,content_type和codename。我发现这codename是我需要的属性,但有一个问题 - 它包含没有前置应用程序名称的名称(例如,只是“add_user”,而不是User.get_all_permissions().
这基本上使得两者没有可比性。有没有办法很好地做到这一点?我只想将子字符串匹配作为最后的手段,因为我认为这不是一个好的做法。
编辑:根据要求,这是一个示例:
假设系统中有以下权限:
"auth.add_user",
"auth.add_group",
"auth.add_userproxy",
"auth.change_group",
"auth.change_user",
"auth.delete_permission",
"evidence.view_all_customers"
"contenttypes.add_contenttype", …Run Code Online (Sandbox Code Playgroud) 我试图创建一个芹菜文件并运行它..
celery -A myapp worker -l info
Run Code Online (Sandbox Code Playgroud)
但是我得到了错误,
File "/production/pythonenv/project/lib/python2.7/site-packages/configurations/base.py", line 30, in __new__
raise ImproperlyConfigured(install_failure)
django.core.exceptions.ImproperlyConfigured: django-configurations settings importer wasn't correctly installed. Please use one of the starter functions to install it as mentioned in the docs: http://django-configurations.readthedocs.org/
Run Code Online (Sandbox Code Playgroud)
这是配置/文件,
树
(通过'tree myapp/config /'从项目rool运行)
config/
|-- __init__.py
|-- __init__.pyc
|-- celery.py
|-- settings.py
|-- urls.py
|-- wsgi.py
myapp/
|-- __init__.py
|-- __init__.pyc
|-- celery.py
|-- helper.py
|-- models.pyc
|-- serializers.py
|-- views.py
Run Code Online (Sandbox Code Playgroud)
celery.py
from __future__ import absolute_import
import os,sys,
from …Run Code Online (Sandbox Code Playgroud) django ×2
javascript ×2
jquery ×2
python ×2
celery ×1
gulp ×1
phantomjs ×1
python-2.7 ×1
scroll ×1