我试图使用Python获取目录中的文件列表,但我不想要所有文件的列表.
我本质上想要的是能够做类似下面的事情,但使用Python而不是执行ls.
ls 145592*.jpg
Run Code Online (Sandbox Code Playgroud)
如果没有内置的方法,我目前正在考虑编写一个for循环来迭代结果os.listdir()
并将所有匹配的文件附加到一个新列表.
但是,也有很多的文件在该目录中,所以我希望有一个更有效的方法(或内置的方法).
检查密钥是否存在的更有效/更快/更好的方法是哪种?
if 'subject' in request.POST:
subject = request.POST['subject']
else:
// handle error
Run Code Online (Sandbox Code Playgroud)
要么
try:
subject = request.POST['subject']
except KeyError:
// handle error
Run Code Online (Sandbox Code Playgroud) 我需要在bash脚本中捕获命令的输出和错误,并知道命令是否成功.
目前,我正在捕捉这两个:
output=$(mycommand 2>&1)
Run Code Online (Sandbox Code Playgroud)
然后我需要检查mycommand的退出值.如果失败了,我需要对输出做一些事情,如果命令成功,我不需要触摸输出.
由于我正在捕获输出,检查$?因为bash成功地将输出捕获到变量中,所以总是为0.
这是一个非常时间敏感的脚本,所以我们试图避免任何较慢的解决方案,如输出到文件并重新读取它.
如果我可以将stdout捕获到一个变量并将stderr捕获到另一个变量,这将解决我的问题,因为我可以检查错误变量是否为空.
谢谢.
我的模型返回一个十进制(1234567.50),我似乎无法显示带有千位分隔符的十进制.Django有办法做到这一点吗?我是否需要创建自己的模板过滤器?
谢谢.
我有一个为客户提供的模型以及他们的购买/订单模型.在我们的后端/网络管理员中,我们希望能够按最近的订单对客户列表进行排序.
这基本上就是我们模型的样子
class Customer(models.Model):
username = models.CharField(max_length=32)
first_name = models.CharField(max_length=322)
def __unicode__(self):
return "%s" % self.username
def get_last_order_date(self):
self.order_set.latest('purchase_date')
class Order(models.Model):
customer = models.ForeignKey(Customer)
purchase_date = models.DateTimeField()
Run Code Online (Sandbox Code Playgroud)
我可以使用我的get_last_order_date函数显示每个客户的最新订单,但是我不能按该函数排序(或者至少我不知道如何).我已经尝试了我能想到的一切:
.order_by('order__purchase_date')
.order_by('order__set').latest('purchase_date')
Run Code Online (Sandbox Code Playgroud)
还有更多,没有运气.
任何提示或线索将非常感激.
谢谢.
我们正在启动一个非常大的基于Web的服务项目.我们正在尝试决定使用哪种托管环境.出于可扩展性原因,我们非常希望使用Google App Engine,并且无需自己处理服务器.
安全登录/注册对我们非常重要,也可以使用我们自己的域名.我们的目标受众不是很了解计算机.出于这个原因,我们不希望用户必须使用OpenID注册,因为这在我们的网站中无法完成.我们也不想强迫我们的客户注册Google.
据我所知,我运气不好.我希望对这个问题有一个明确的答案.我是否可以通过我们的域访问我们网站的加密登录,而无需将客户发送到其他网站进行登录(OpenID/Google).
谢谢.
我正在尝试实施一个日历系统,能够安排其他人进行约会.系统必须能够防止在另一个约会期间或在其不可用时间期间安排一个人.
我已经查看了我在互联网上找到的所有现有django日历项目,似乎没有一个内置它们(如果我错过了某种方式,请告诉我).
也许我只是太累了,但我能想到这样做的唯一方法似乎有点混乱.这里是伪代码:
考虑到Django没有基于时间的过滤,这必须使用查询集上的.extra()来完成.
所以,我在问是否有更好的方法.一个pythonic技巧或模块或任何可能简化这一点的东西.或者是一个现有的项目,它有我需要的东西,或者可以引导我朝着正确的方向前进
谢谢.
Django(最好是在视图中)是否有办法检查用户是否启用了JavaScript?
如果用户拥有JavaScript,我需要显示一个非常不同的页面.
谢谢
我们的鸽舍和电子邮件服务器使用SHA1摘要对用户进行身份验证.我们无法真正更改当前摘要,因为我们有这么多用户,并且不希望让他们重新创建所有密码.
我们想要一种更简单的方法来创建一个摘要,以便为我们的用户输入数据库(最终创建一个Web界面,以便他们自己更改).
目前,我们使用linux命令创建摘要:
dovecotpw -s SHA1
Run Code Online (Sandbox Code Playgroud)
我们想切换,因为dovecotpw不是可编写脚本的(至少不是没有使用expect或类似的东西).但是,我尝试过的所有东西(sha1sum,mysql的sha1,python的hashlib.sha1)都会产生与dovecotpw命令截然不同的东西.
下面是单词:password的各种命令的输出
dovecotpw -> W6ph5Mm5Pz8GgiULbPgzG37mj9g=
sha1sum -> 5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8
python hashlib.sha1() -> 5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8
mysql sha1() -> 5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8
Run Code Online (Sandbox Code Playgroud)
所以看起来dovecot是以不同方式做事的人.不幸的是,这是我需要它创建的那个.
任何想法是如何从脚本命令获得dovecot sha1?
谢谢.
我创建了一个表单,用于在我们的Web管理员中添加有关客户的注释.我正在使用jQuery和Ajax来提交for.我希望Django视图返回新添加的注释/记录,以便我可以将它附加到客户注释表.我的Ajax发送正在工作,并且正在保存笔记,我无法显示结果.
我尝试了以下3行(单独):
serializers.serialize("json", Note.objects.get(id=new_note.id))
serializers.serialize("json", new_note)
return HttpResponse(simplejson.dumps(new_note), mimetype='application/javascript')
Run Code Online (Sandbox Code Playgroud)
前两个产生:
'Note' object is not iterable
Run Code Online (Sandbox Code Playgroud)
第三个给了我:
<Note: Note object> is not JSON serializable
Run Code Online (Sandbox Code Playgroud)
我实际上并不关心我返回对象的格式,只要我可以使用jQuery接收和显示记录的每个字段.
谢谢.
在django管理员中,我有一个TabularInline,用于设置了raw_id_fields的ManyToMany字段。它在html输入字段旁边显示对象的unicode()。
我希望它显示一个电子邮件链接。因此,在模型的unicode()函数中,我放入了html标签以创建链接。但是,它正在显示html标签。
有没有办法告诉管理员Unicode安全显示标签?
我尝试使用allow_tags属性,但这似乎只是ModelAdmin属性。
是否可以在不创建新模板的情况下执行此操作?
编辑:
我已经找到了发生的确切位置。在159行中:django / contrib / admin / widgets.py
return ' <strong>%s</strong>' % escape(truncate_words(obj, 14))
Run Code Online (Sandbox Code Playgroud)
那里的逃生是手动转义的。我已经测试了删除escape()的方法。我不喜欢编辑Django源代码的想法。我如何在不更改来源的情况下解决这个问题?
在我的django项目中,我有以下内容:
apps1/models.py:Post(model)apps2
/ models.py:Blogs(model)apps2
/ functions.py:get_blogs(method)
apps1/models.py文件从apps2/models.py导入博客模型.
apps2/models.py文件从apps2/functions.py导入get_blogs方法.
apps2/functions.py文件从apps1/models.py导入Post模型.
我收到以下错误:
ImportError at /
cannot import name Post
Traceback
admin.autodiscover()
<in file apps1/models.py>
from apps2.models import Blogs
<in file apps2/models.py>
from apps2.functions import get_blogs
<in file apps2/functions.py>
from apps1.models import Post
Run Code Online (Sandbox Code Playgroud)
我认为可能是admin.autodiscover首先导入Post模型然后通过导入循环,它试图再次导入它.虽然我尝试将其更改为:
from apps1.models import Post as OtherPost
Run Code Online (Sandbox Code Playgroud)
但这没有帮助.知道为什么会这样吗?是因为现在有一个循环吗?
django ×7
python ×5
bash ×2
ajax ×1
calendar ×1
capture ×1
django-admin ×1
filesystems ×1
glob ×1
https ×1
javascript ×1
jquery ×1
json ×1
login ×1
sha1 ×1
sql-order-by ×1
stderr ×1
stdout ×1
variables ×1
wildcard ×1