我要说实话:这是我上周在Django-Users邮件列表上提出的一个问题.由于我还没有得到任何回复,我将它重新发布在Stack Overflow上,希望它能在这里获得更多关注.
我想创建一个应用程序,使您可以轻松地在自己的应用程序中进行用户友好,多个/大量文件上传.用户友好,我的意思是上传,如Gmail,Flickr,...用户可以在浏览文件对话框中一次选择多个文件.然后按顺序或并行上载文件,并在页面上显示所选文件的精美概述,旁边有进度条."取消"上传按钮也是一种可能的选择.
所有这些好处通常都是通过使用Flash对象来解决的.完整的解决方案是在那里的客户端,如:SWFUpload的 http://swfupload.org/,FancyUpload http://digitarald.de/project/fancyupload/ ,YUI 2提供者http://developer.yahoo.com/yui/uploader /可能还有更多.
当然,诀窍是将这些解决方案集成到您的项目中.特别是在像Django这样的框架中,如果你希望它可以重复使用,请加倍.
所以,我有一些想法,但我既不是Django的专家,也不是基于Flash的上传解决方案.我将在这里分享我的想法,希望从更有知识和经验丰富的人那里获得一些反馈.(或者甚至只是一些'我也想要这个!'回复:))
您会注意到我做了一些假设:这是为了控制应用程序的(初始)范围.这些假设当然值得商榷:
好吧,我的想法到目前为止:
如果要批量上传多个文件,您将拥有一个包含每个文件的模型.即模型将包含一个FileField或一个ImageField.具有多个(但有限量)FileFields/ImageFields的模型不需要轻松大量上传imho:如果你有一个带有100个FileFields的模型你做错了什么:)你想要我想象的那种大量上传的例子:
能够为您喜爱的Flash上传解决方案配置或扩展应用程序会很不错.我们可以选择上面三个中的一个作为默认值,但实现应用程序,以便人们可以轻松添加其他实现(有点像Django可以使用多个数据库).让它与任何特定的客户端解决方案无关.
如果我们需要选择一个开头,也许选择占地面积最小的那个?(最小的客户端东西下载)
基于Flash的解决方案异步(并且顺序或并行)将文件POST到URL.我建议将url设置为我们的通用应用程序的本地(因此,对于您使用我们的应用程序的每个应用程序,它都是相同的).该网址将转到我们的通用应用提供的视图.
该视图将执行以下操作:创建新模型实例,添加文件,OPTIONALLY DO EXTRA STUFF并保存实例.
DO EXTRA STUFF是使用我们的应用程序的应用程序想要运行的代码.它不必提供任何额外的代码,如果模型只有FileField/ImageField,标准视图代码将完成这项工作.但大多数应用程序都希望做更多我认为的东西,比如填写其他字段:title,date_added,foreignkeys,manytomany,...
我还没有想过DO EXTRA STUFF的机制.只想包装通用应用程序视图,但这不是开发人员友好的,因为您必须编写自己的url模式和自己的视图.然后你必须告诉Flash解决方案使用一个新的URL等...我觉得像这样的信号可以在这里使用?
表单/管理员:我仍然非常粗略地说明如何将所有这些最好地集成到Admin或通用Django表单/窗口小部件/ ...(这是我缺乏Django体验节目):
在我开始使用这个应用程序之前,可能还有几十个问题需要回答.所以请告诉我你的想法!给我输入!你喜欢什么?什么不是?你会做什么不同的?这个想法是否稳固?它不在哪里?
谢谢!
在我的存储库实现中,我可以使用lambda表达式运行以下查询:
public IList<User> GetUsersFromCountry(string)
{
return _UserRepository.Where(x => x.Country == "Sweden").ToList();
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,这么好,简单的东西.但是,我在编写嵌套 - >嵌套列表的lambda表达式时遇到了困难.给出以下示例(抱歉无法想到更好的一个):
以下查询绝对正常,并返回所有俱乐部,其成员年龄超过45岁
public IList<Clubs> GetGoldMembers()
{
var clubs = from c in ClubRepository
from m in c.Memberships
where m.User.Age > 45
select c;
return clubs;
}
Run Code Online (Sandbox Code Playgroud)
目前,这是我对lambda表达的知识结束的地方.
我如何使用lambda表达式对ClubRepository编写上述查询,类似于上面的示例?
如果我将Eclipse窗口垂直拆分,是否有任何键盘快捷键可以移动到逻辑左/右编辑器?
例如,在图像打击中,选择了正确的编辑器,我想移动到左侧窗口:
对于那些了解Vim的人,我正在努力重建c-w h
和c-w l
.
我认为Visual Studio最大的失误是Javascript编辑器.我被告知使用Aptana作为我的javascript文件的编辑器,但我更愿意坚持使用visual studio.
我已经阅读过其他类似的插件帖子,但没有一个专注于Javascript.
VS2010可能会有一些改进,但它们是否符合Apatana标准?我已经对测试版进行了简要测试,但我并没有给我留下太深刻的印象.
那里有什么能让Javascript更接近c#开发吗?考虑到Javascript的广泛使用,我认为必须有一些东西.......我希望!:)
非常感谢...这是一直困扰着我的事情!
我创建了一个脚本,将一些文件保存在我的应用程序的Documents目录中.现在我需要将这些文件复制到我的"application.app"包中...
我怎么能这样做?感谢所有能帮助我的人.
我正在尝试创建一个文件夹并在其中创建一个文件.
每当我创建该文件夹(通过Python)时,它会创建一个文件夹,该文件夹根本不提供任何权限和只读模式.
当我尝试创建文件时,我得到一个IOError.
Error: <type 'exceptions.IOError'>
Run Code Online (Sandbox Code Playgroud)
我尝试创建(和搜索)所有其他模式的描述(除了0770).
有人能给我点亮吗?其他模式代码是什么?
如何按SQL Server的日期时间选择最新记录?
这是伪代码......
SELECT Records
FROM MyTable
WHERE current time >= (CurrentTime - 2 minutes)
Run Code Online (Sandbox Code Playgroud)
假设当前时间是10:25:39 pm
26/10/2009 10:25:39 pm
26/10/2009 10:25:00 pm
26/10/2009 10:24:53 pm
26/10/2009 10:24:19 pm
26/10/2009 10:23:58 pm
26/10/2009 10:14:56 pm
26/10/2009 10:12:56 pm
Run Code Online (Sandbox Code Playgroud)
SQL查询应该返回这些记录......
26/10/2009 10:25:39 pm
26/10/2009 10:25:00 pm
26/10/2009 10:24:53 pm
26/10/2009 10:24:19 pm
Run Code Online (Sandbox Code Playgroud) 如果在其他地方回答这个问题,请指责我并指出正确的方向.
我是Maven的新手,并试图将我的头脑与我的项目一起使用.我有两个顶级项目,一个是Swing应用程序,另一个是一组Web服务.它们都依赖于同一个内部罐子.有什么好方法可以为此设置poms?
如果jar只被其中一个项目使用,那么看起来我会把它移到里面并使它成为一个模块.但是我不想要那个jar的源代码的两个(以及更多)副本.
看起来我可以这样做的一种方法是为Swing应用程序提供一个主pom,其中包含Swing应用程序和库jar作为模块.然后为Web应用程序设置另一个主pom以相同的方式设置.那会有意义吗?还有更好的方法吗?
目录结构目前非常简单:
Development/
----SwingApp/
----WebServices/
----CoreLibrary/
Run Code Online (Sandbox Code Playgroud)
方式太多信息和附带问题如下:
我继承了一个"构建系统"(使用松散术语),它是100%Netbeans自动生成的ant脚本.我开始尝试将它放入持续集成,TeamCity,我非常喜欢.我试图用它来构建WebServices项目时遇到了严重的问题.在我所知的情况下,生成的ant(build-impl.xml)中的某些内容无法在CI环境中被覆盖.在日常开发中将这与一些严重的类路径地狱相结合,你就会开始明白我为什么要去找maven.
这个问题包含的一个问题是我的团队中的开发人员似乎都习惯了.现在,Netbeans中的各个项目都有对"CoreLibrary"项目的项目引用.这意味着当在"CoreLibrary"中更改源代码并且开发人员在顶级应用程序上进行构建时,它还将根据需要构建CoreLibrary.可以在Maven中模拟吗?这将有助于缓解过渡.到目前为止,我看到Netbeans(6.7)没有使用maven版本,我认为我不能卖掉(还)在Netbeans之外进行日常构建工作.
我有一个Customer []对象数组,我想用它来创建Dictionary <Customer,string>.在加载Dictionary之前,检查重复数组的最简单方法是什么?我想避免"ArgumentException:已经添加了具有相同键的项目".谢谢.
我以为我会使用一些(我认为是)简单的泛型来在某些业务类上强制执行CRUD.例如.
public interface IReadable <T>
{
T Read<T>(string ID);
}
Run Code Online (Sandbox Code Playgroud)
然后也许,我可以用NoteAdapter 用Note类做C R UD,例如.
public class NoteAdapter : IReadable<Note>
{
public Note Read<Note>(string ID) {
return new Note();
}
}
Run Code Online (Sandbox Code Playgroud)
但由于某些原因,如果我同时使用泛型返回类型和使用相同泛型类型参数化的函数,那么编译器会变得混乱.也就是说,如果我这样做:
public interface IReadable <T>
{
void Read<T>(string ID);
}
public class NoteAdapter : IReadable<Note>
{
public void Read<Note>(string ID) {
return new Note();
}
}
Run Code Online (Sandbox Code Playgroud)
编译很好,虽然它没有做我想要的!这个:
public interface IReadable <T>
{
T Read (string ID);
}
public class NoteAdapter : IReadable<Note>
{
public Note Read(string ID) {
return new …
Run Code Online (Sandbox Code Playgroud)