我想将Ruby BigDecimal对象转换为漂亮的可打印货币值.所以我想把它打印到2位小数.我该怎么做?
如您所见,以下方法均无效:
irb(main):033:0> v = BigDecimal("7.1762")
=> #<BigDecimal:7fe97c1c9310,'0.71762E1',18(18)>
irb(main):034:0> v.to_s('2F')
=> "7.17 62"
irb(main):035:0> v.to_s('F')
=> "7.1762"
irb(main):036:0> v.to_s('%0.2F')
=> "0.71762E1"
irb(main):037:0> v.to_s('%0.2f')
=> "0.71762E1"
irb(main):038:0>
Run Code Online (Sandbox Code Playgroud)
哪个表达式只会生成字符串7.17?
我有一个Django类如下:
class MyModel(models.Model):
my_int = models.IntegerField(null=True, blank=True,)
created_ts = models.DateTimeField(default=datetime.utcnow, editable=False)
Run Code Online (Sandbox Code Playgroud)
当我运行以下查询集时,我收到一个错误:
>>> from django.db.models import Max, F, Func
>>> MyModel.objects.all().aggregate(Max(Func(F('created_ts'), function='UNIX_TIMESTAMP')))
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "MyVirtualEnv/lib/python2.7/site-packages/django/db/models/query.py", line 297, in aggregate
raise TypeError("Complex aggregates require an alias")
TypeError: Complex aggregates require an alias
Run Code Online (Sandbox Code Playgroud)
如何调整我的查询集以便我不会收到此错误?我想找到带有最新created_ts的MyModel实例.我想使用该UNIX_TIMESTAMP功能来获取它.
源目录包含许多大型图像和视频文件.
需要使用该aws s3 cp命令将这些文件上载到AWS S3存储桶.例如,作为此构建过程的一部分,我将我的图像文件复制my_image.jpg到S3存储桶,如下所示:aws s3 cp my_image.jpg s3://mybucket.mydomain.com/
我手动将此副本发送到AWS没有问题.我也可以编写脚本.但是我想使用makefile上传我的图像文件,my_image.jpg 如果我的S3存储桶中的同名文件比我的源目录中的文件旧.
通常make非常擅长基于文件日期的这种依赖性检查.但是,有什么方法可以告诉我make从S3存储桶中的文件获取文件日期并使用它来确定是否需要重建依赖项?
我正在使用AWS Cloudformation为我的Web应用程序设置网络基础结构的许多元素(VPC,安全组,子网,自动调节组等).我希望整个过程自动化.我想点击一个按钮,然后能够启动整个事情.
我已经成功创建了一个Cloudformation模板,用于设置所有这些网络基础架构.但是,EC2实例目前在没有任何所需软件的情况下启动.现在我想弄清楚如何最好地在他们身上获得该软件.
为此,我正在使用Packer.io创建AMI .但有些人反而催促我使用Cloud-Init.我应该使用什么启发式方法来决定将哪些内容融入AMI和/或通过Cloud-Init配置什么?
例如,我想预先配置EC2实例以允许me(saqib)在没有自己笔记本电脑密码的情况下登录.因此EC2必须有用户.该用户必须具有主目录.并且在该主目录中必须存在.ssh/known_hosts包含加密代码的文件.我应该将这些目录烘焙到AMI吗?或者我应该使用cloud-init来设置它们?我该如何决定这个和其他类似的案例呢?
packer amazon-web-services cloud-init aws-cloudformation amazon-ami
从Django模板文件我想检查我的变量myVar是"A"还是"B"(或"C"或"D"等等).所以我想做这样的事情:
{% if myVar in ["A", "B"] %}
Hello
{% else %}
World
{% endif %}
Run Code Online (Sandbox Code Playgroud)
但这在第一行给出了语法错误.
那我怎么能在Django模板文件中使用文字列表呢?
我正在学习如何使用rabbitMQ.我正在MacBook上运行rabbit-MQ服务器并尝试连接python客户端.我按照安装说明操作这里.现在我正在执行此处显示的教程.
教程说要运行这个客户端:
#!/usr/bin/env python
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
Run Code Online (Sandbox Code Playgroud)
但是,当我这样做时,我在尝试建立连接时收到以下错误:
WARNING:pika.adapters.base_connection:Connection to ::1:5672 failed: [Errno 61] Connection refused
Run Code Online (Sandbox Code Playgroud)
正如您所见,rabbitmq-server似乎在不同的窗口中正常运行:
% rabbitmq-server
RabbitMQ 3.3.1. Copyright (C) 2007-2014 GoPivotal, Inc.
## ## Licensed under the MPL. See http://www.rabbitmq.com/
## ##
########## Logs: /usr/local/var/log/rabbitmq/rabbit@localhost.log
###### ## /usr/local/var/log/rabbitmq/rabbit@localhost-sasl.log
##########
Starting broker... completed with 10 plugins.
% ps -ef | grep -i rabbit
973025343 37253 1 0 2:47AM ?? 0:00.00 /usr/local/Cellar/rabbitmq/3.3.1/erts-5.10.3/bin/../../erts-5.10.3/bin/epmd -daemon
973025343 37347 262 0 2:49AM ttys001 …Run Code Online (Sandbox Code Playgroud) 我有以下Django模型:
class myModel(models.Model):
name = models.CharField(max_length=255, unique=True)
score = models.FloatField()
Run Code Online (Sandbox Code Playgroud)
此模型的数据库中有数千个值.我想高效优雅地使用QuerySets获得前十名最高分,并按分数的降序显示名称.到目前为止它相对容易.
这里是皱纹的地方:如果有多个myModel并列第十名,我想全部展示它们.我不想只看到其中一些.这会过度地使某些名字比其他名字具有任意优势.如果绝对必要,我可以在Querysets之外进行一些后DB列表处理.但是,我看到的主要问题是我无法通过apriori将我的数据库查询限制在前10个元素中,因为据我所知,可能有一百万条记录都排在第十位.
我是否需要按分数对所有myModel进行排序,然后对它们进行一次传递以计算得分阈值?然后使用该计算得分阈值作为另一个Queryset中的过滤器?
如果我想用直接SQL编写这个,我甚至可以在一个查询中完成它吗?
我的Django应用程序目前设置为使用本机注册包来处理用户身份验证和管理.
我创建了一些文件myApp/templates/registration,用于发送密码重置令牌,如这些文档中所述.
它工作正常.除了密码重置电子邮件是一个丑陋的文本怪物.我想使它与我的应用程序发送的所有其他电子邮件的外观和感觉相匹配.IE:我希望它是HTML并包含图像,样式和链接.我怎么做?
我按照这里的详细说明.但是,该代码中存在错误,我不知道该怎么做:'CustomPasswordResetForm' object has no attribute 'users_cache'
有人能告诉我一个详细的工作示例如何实现这一目标吗?我希望不是那么难.
我有两个Django模型,如下所示,MyModel1&MyModel2:
class MyModel1(CachingMixin, MPTTModel):
name = models.CharField(null=False, blank=False, max_length=255)
objects = CachingManager()
def __str__(self):
return "; ".join(["ID: %s" % self.pk, "name: %s" % self.name, ] )
class MyModel2(CachingMixin, models.Model):
name = models.CharField(null=False, blank=False, max_length=255)
model1 = models.ManyToManyField(MyModel1, related_name="MyModel2_MyModel1")
objects = CachingManager()
def __str__(self):
return "; ".join(["ID: %s" % self.pk, "name: %s" % self.name, ] )
Run Code Online (Sandbox Code Playgroud)
MyModel2有一个ManyToMany字段来MyModel1授权model1
现在看看当我向这个ManyToMany字段添加一个新条目时会发生什么.据Django说,它没有效果:
>>> m1 = MyModel1.objects.all()[0]
>>> m2 = MyModel2.objects.all()[0]
>>> m2.model1.all()
[]
>>> m2.model1.add(m1)
>>> m2.model1.all() …Run Code Online (Sandbox Code Playgroud) 我的SQLAlchemy应用程序(在MariaDB之上运行)包括两个模型MyModelA,MyModelB后者是前者的子记录:
class MyModelA(db.Model):
a_id = db.Column(db.Integer, nullable=False, primary_key=True)
my_field1 = db.Column(db.String(1024), nullable=True)
class MyModelB(db.Model):
b_id = db.Column(db.Integer, nullable=False, primary_key=True)
a_id = db.Column(db.Integer, db.ForeignKey(MyModelA.a_id), nullable=False)
my_field2 = db.Column(db.String(1024), nullable=True)
Run Code Online (Sandbox Code Playgroud)
这些的实例MyModelA和MyModelB我创建:
>>> my_a = MyModelA(my_field1="A1")
>>> my_a.aid
1
>>> MyModelB(a_id=my_a.aid, my_field2="B1")
Run Code Online (Sandbox Code Playgroud)
我有以下代码删除MyModelAwhere 的实例a_id==1:
db.session.commit()
try:
my_a = MyModelA.query.get(a_id=1)
assert my_a is not None
print "#1) Number of MyModelAs: %s\n" % MyModelA.query.count()
db.session.delete(my_a)
db.session.commit()
except IntegrityError:
print "#2) Cannot delete instance …Run Code Online (Sandbox Code Playgroud) django ×4
python ×3
amazon-ami ×1
amazon-s3 ×1
aws-cli ×1
cloud-init ×1
django-cache ×1
makefile ×1
max ×1
mysql ×1
packer ×1
rabbitmq ×1
rollback ×1
ruby ×1
sql ×1
sqlalchemy ×1