任何人都可以解释我以下代码有什么问题吗?我尝试了不同的主机,FTPClientConfigs,它可以通过firefox/filezilla正确访问...问题是我总是得到空文件列表,没有任何异常(files.length == 0).我使用与Maven一起安装的commons-net-2.1.jar.
FTPClientConfig config = new FTPClientConfig(FTPClientConfig.SYST_L8);
FTPClient client = new FTPClient();
client.configure(config);
client.connect("c64.rulez.org");
client.login("anonymous", "anonymous");
client.enterRemotePassiveMode();
FTPFile[] files = client.listFiles();
Assert.assertTrue(files.length > 0);
Run Code Online (Sandbox Code Playgroud) 码:
# it's an ajax request, so parameters are passed via GET method
def my_view(request):
my_param = request.GET['param'] // should I check for KeyError exception?
Run Code Online (Sandbox Code Playgroud)
在PHP框架中,我通常必须检查存在的参数,如果不存在,则将用户重定向到某个地方.但在Django中,未出现的参数会导致500错误页面并且似乎需要行为.那么按原样保留代码还是有更好的实践可以吗?我应该总是使用像/ myaction/paramvalue /而不是/ myaction传递的标准参数吗?param_name = param_value(为ajax请求构建这样的URL有点困难)?
如何使entry.category成为CategoryProxy的实例?请参阅代码了解详情:
class Category(models.Model): pass
class Entry(models.Model):
category = models.ForeignKey(Category)
class EntryProxy(Entry):
class Meta:
proxy = True
class CategoryProxy(Category):
class Meta:
proxy = True
entry = EntryProxy.objects.get(pk=1)
entry.category # !!! I want CategoryProxy instance here
Run Code Online (Sandbox Code Playgroud)
从Category转换为CategoryProxy也是可以的,但是我不熟悉ORM内部以正确复制内部状态...
编辑. 原因:我向CategoryProxy添加了方法并想要使用他:
EntryProxy.objects.get(pk=1).category.method_at_category_proxy()
Run Code Online (Sandbox Code Playgroud)
编辑2. 目前我实现了这样:
EntryProxy._meta.get_field_by_name('category')[0].rel.to = CategoryProxy
Run Code Online (Sandbox Code Playgroud)
但它看起来很糟糕......
我目前正在使用https://github.com/fgallina/python.el + ropemacs,但我缺少模块浏览器:单独的缓冲区,它概述了当前模块中定义的名称(类及其方法列表).谷歌说有OO浏览器和emacs代码浏览器,但它们看起来已经过时了,我在任何流行的emacs + python教程中都找不到关于这个库的任何提及.我应该使用什么来实现模块之间的轻松导航?
我正在尝试将pyopencv安装到使用--no-site-packages选项创建的virtualenv:
pip install pyopencv
Run Code Online (Sandbox Code Playgroud)
但是我在Ubuntu 10.04.3上遇到以下错误:
CMake Error at CMakeLists.txt:186 (find_package):
Could not find a configuration file for package OpenCV.
Set OpenCV_DIR to the directory containing a CMake configuration file for
OpenCV. The file will have one of the following names:
OpenCVConfig.cmake
opencv-config.cmake
Run Code Online (Sandbox Code Playgroud)
我已经安装了numpy,scipy和OpenCV(libboost-dev libboost-python1.40.0 libboost-python1.40-dev cmake libcv4 libcv-dev libcvaux4 libcvaux-dev).有任何想法吗?
PS我知道有预先构建的Ubuntu包python-opencv,但我不知道如何使用--no-site-packages将它安装到virtualenv中(可能symlink会起作用,但它很难看......).
有一个文档http://static.springsource.org/spring/docs/2.5.6/reference/testing.html如何使用xml-configuration为junit测试添加IoC支持,但我找不到基于java的示例组态...
例如,我有基于java的bean:
public class AppConfig
{
@Bean
public Test getTest() { return new Test(); }
}
Run Code Online (Sandbox Code Playgroud)
并测试:
@RunWith(SpringJUnit4ClassRunner.class)
public class IocTest
{
@Autowired
private Test test;
@Test
public void testIoc()
{
Assert.assertNotNull(test);
}
}
Run Code Online (Sandbox Code Playgroud)
在不使用xml-configs的情况下,我应该添加什么来启用基于java的bean到我的junit测试?
通常我使用:
new AnnotationConfigApplicationContext(AppConfig.class);
Run Code Online (Sandbox Code Playgroud)
但它不适用于测试......
每次我编辑文件emacs创建类似于以下的文件:
lrwxrwxrwx 1 vladimir vladimir 49 2011-11-23 19:20 .#models.py -> vladimir@host.15570:1322037576
Run Code Online (Sandbox Code Playgroud)
我已经试过了
(setq auto-save-default nil)
Run Code Online (Sandbox Code Playgroud)
但没有成功.我怎样才能禁用这种行为?
我想全局启用空白模式.我在我的.emacs中试过这个:
(require 'whitespace)
(setq-default whitespace-style '(face trailing lines empty indentation::space))
(setq-default whitespace-line-column 80)
(setq global-whitespace-mode 1)
(whitespace-mode 1)
Run Code Online (Sandbox Code Playgroud)
但是没有成功......我能够通过M + x空白模式启用它,但我希望它能在全球范围内启用它...任何建议?我正在使用GNU Emacs 23.3.1.
处理多种形式的最佳方式是什么?我想将几种形式合二为一.例如,我想将ImangeFormSet和EntryForm组合成一个表单:
class ImageForm(forms.Form):
image = forms.ImageField()
ImageFormSet = formset_factory(ImageForm)
class EntryForm(forms.Form):
title = forms.CharField(max_length=100)
result_form = combine(EntryForm, ImageFormSet) # here it goes
Run Code Online (Sandbox Code Playgroud)
我发现2年前的介绍介绍了multipleform_factory()方法,但我不确定这是最好的方法:http://www.slideshare.net/kingkilr/forms-getting-your-moneys-worth
AFAIK,只有一个区别:key_id必须是int,key_name必须是string.使用key_id vs key_name还有其他任何做法限制吗?
我有这样的结构:
setup.py
package
__init__.py
sub_package
___init__.py
sub_package2
__init__.py
Run Code Online (Sandbox Code Playgroud)
如果我通过setup.py install安装软件包,那么它可以正常工作(通过将整个软件包复制到site-packages目录):
site_packages
package
sub_package
sub_package2
Run Code Online (Sandbox Code Playgroud)
但是如果我运行pip install package,那么pip会将每个子包安装为独立的包:
site-packages
package
sub_package
sub_package2
Run Code Online (Sandbox Code Playgroud)
我怎么能避免这个?我使用setuptools中的find_packages()来指定包.
python ×6
django ×3
emacs ×3
java ×2
distutils ×1
django-forms ×1
django-urls ×1
elisp ×1
ftp-client ×1
junit ×1
navigation ×1
numpy ×1
opencv ×1
pip ×1
scipy ×1
setuptools ×1
spring ×1
whitespace ×1