说,我有两条绝对路径.我需要检查其中一条路径引用的位置是否是另一条路径的后代.如果是真的,我需要找出祖先的后代的相对路径.在Python中实现这个的好方法是什么?我可以从中受益的任何图书馆?
function foo(a) {
if (/*some condition*/) {
// perform task 1
// perform task 3
}
else {
// perform task 2
// perform task 3
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个功能,其结构类似于上面的.我想将任务3抽象为一个函数,bar()但是我希望将此函数的访问权限限制在范围内foo(a).
为了达到我想要的目的,改为以下是否正确?
function foo(a) {
function bar() {
// perform task 3
}
if (/*some condition*/) {
// perform task 1
bar();
}
else {
// perform task 2
bar();
}
}
Run Code Online (Sandbox Code Playgroud)
如果以上是正确的,bar()每次foo(a)调用时都会重新定义吗?(担心这里浪费cpu资源)
我一直认为$HOME并且~完全相同,因此可以互换使用.今天,当我尝试安装pylibmc,一个python绑定到memcached,在我的共享服务器上使用时~给了我错误但没有
$HOME.我想说明原因.
libmemcached是pylibmc的要求.我在我的主目录下安装了libmemcached,因为我在服务器上没有root.因此,要安装pylibmc,我需要确保安装脚本知道在哪里可以找到libmemcached.
执行时python setup.py install --with-libmemcached=~,安装脚本会运行
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall \ -Wstrict-prototypes -fPIC -DUSE_ZLIB -I~/include \ -I/usr/local/include/python2.7 -c _pylibmcmodule.c \ -o build/temp.linux-i686-2.7/_pylibmcmodule.o -fno-strict-aliasing
这给出了无法找到libmemcached的错误.
如果我改为--with-libmemcached=$HOME,则脚本运行
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall \ -Wstrict-prototypes -fPIC -DUSE_ZLIB -I/home/waterbotte/include \ -I/usr/local/include/python2.7 -c _pylibmcmodule.c \ -o build/temp.linux-i686-2.7/_pylibmcmodule.o -fno-strict-aliasing
没有任何问题.看起来问题是波形符没有得到解决.但为什么?
说,我有以下mixin通过触摸相互重叠dispatch():
class FooMixin(object):
def dispatch(self, *args, **kwargs):
# perform check A
...
return super(FooMixin, self).dispatch(*args, **kwargs)
class BarMixin(object):
def dispatch(self, *args, **kwargs):
# perform check B
...
return super(FooMixin, self).dispatch(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
如果我希望我的视图通过订单,请检查A - >检查B,如果我的代码是MyView(FooMixin, BarMixin, View)或者MyView(BarMixin, FooMixin, View)?
为什么我们总是View在mixins之后放入或者它的子类?(我从阅读django通用视图的源代码中注意到了这一点,但我不知道它背后的基本原理,如果有的话)
python django django-views method-resolution-order django-class-based-views
我有以下代码片段,它使用jQuery Form插件将表单发布到服务器(在ajax中).
var options = {
dataType: "json",
success: function(data) {
alert("success");
}
};
$form.ajaxSubmit(options);
Run Code Online (Sandbox Code Playgroud)
表格:
<form enctype="multipart/form-data" id="name_change_form" method="post" action="/my_account/">
<div style='display:none'><input type='hidden' name='csrfmiddlewaretoken' value='6c9b552aaba88b8442077e2957e69303' /></div>
<table>
<tr>
<td>
<label for="id_first_name">First name</label>:
</td>
<td>
<input name="first_name" value="Patrick" maxlength="30" type="text" id="id_first_name" size="30" />
</td>
</tr>
<tr>
<td>
<label for="id_last_name">Last name</label>:
</td>
<td>
<input name="last_name" value="Sung" maxlength="30" type="text" id="id_last_name" size="30" />
</td>
</tr>
</table>
<input type="hidden" name="form_id" value="name_change_form" />
</form>
Run Code Online (Sandbox Code Playgroud)
ajax实现工作正常.但是我收到了警告
资源解释为Document但使用MIME类型application/json进行传输
在Chrome开发者工具中.我想找出为什么警告,甚至更好的解决方法.
我改为使用$.post而且神奇地从那时起错误就消失了.我不知道为什么$.post有效,但不是$form.ajaxSubmit.如果有人可以提供他们的解释,这将是伟大的.至少,这个问题已得到解决.以下是新代码.
var …Run Code Online (Sandbox Code Playgroud) 这是我的问题的演示.
$scope.myNumbers = [10, 20, 30];
<div ng-repeat="num in myNumbers">
<input type="text" ng-model="num">
<div>current scope: {{num}}</div>
</div>
Run Code Online (Sandbox Code Playgroud)
任何人都可以向我解释为什么输入不可编辑/只读?如果按照设计,背后的理由是什么?
更新2/20/2014
看起来这不再是v1.2.0 + Demo的问题.但请记住,虽然用户控件现在可以使用较新的angularJS版本进行编辑,但它是子范围中的num属性,而不是父范围,可以进行修改.换句话说,修改用户控件中的值不会影响数组.myNumbers
在我目前的项目中途,在经历了无数分钟调试的痛苦之后,我决定采用TDD.首先,我计划为每个现有模型编写一组单元测试.但对于只定义属性的模型(即没有其他方法/属性),我不确定我需要测试什么,也不确定.
class Product(models.Model):
name = models.CharField(max_length=50)
description = models.TextField(default='', blank=True)
retails = models.ManyToManyField(Retail, verbose_name='Retail stores that carry the product')
manufacturer = models.ForeignKey(Manufacturer, related_name='products')
date_created = models.DateTimeField(auto_now_add=True)
date_modified = models.DateTimeField(auto_now=True)
Run Code Online (Sandbox Code Playgroud)
以产品为例,单元测试应涵盖哪些内容?应该如何涵盖ForeignKey和ManyToManyField?
require - 要求将另一个控制器传递给当前指令链接函数.require需要传入指令控制器的名称.如果找不到这样的控制器,则会引发错误.该名称可以带有以下前缀:
- ? - 不要提出错误.这使得require依赖项可选.
- ^ - 在父元素上查找控制器.
以上是官方文档的定义.这里的模糊性恰恰是"指令控制器".
以angularjs-ui bootstrap项目中的tabs指令为例.
angular.module('ui.bootstrap.tabs', [])
.controller('TabsController', ['$scope', '$element', function($scope, $element) {
... // omitted for simplicity
}])
.directive('tabs', function() {
return {
restrict: 'EA',
transclude: true,
scope: {},
controller: 'TabsController',
templateUrl: 'template/tabs/tabs.html',
replace: true
};
})
.directive('pane', ['$parse', function($parse) {
return {
require: '^tabs',
restrict: 'EA',
transclude: true,
scope:{
heading:'@'
},
link: function(scope, element, attrs, tabsCtrl) {
... // omitted for simplicity
},
templateUrl: 'template/tabs/pane.html',
replace: true …Run Code Online (Sandbox Code Playgroud) 我正在编写一个单元测试,需要访问我放在我的django app目录下的"fixtures"目录中的图像文件.我想在我的测试中使用相对路径打开这个图像文件,这需要我获取django应用程序的绝对路径.有没有办法获得django应用程序的绝对路径?
django ×3
python ×3
angularjs ×2
javascript ×2
jquery ×2
bash ×1
centos ×1
django-views ×1
html ×1
linux ×1