当我尝试使用以下代码在Ubuntu 16.04中安装php5时:
sudo apt-get install php5 php5-mcrypt
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package php5 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'php5' has no installation candidate
Run Code Online (Sandbox Code Playgroud)
我尝试过重新安装,但它没有帮助.
我将15.10 Ubuntu更新为16.04后遇到了所有这个错误
是否可以在DJango模板中对一组相关项进行排序?
即:此代码(为清晰起见,省略了HTML标记):
{% for event in eventsCollection %}
{{ event.location }}
{% for attendee in event.attendee_set.all %}
{{ attendee.first_name }} {{ attendee.last_name }}
{% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
显示几乎完全是我想要的.我唯一想要改变的是我按照姓氏排序的与会者名单.我试过说这样的话:
{% for event in events %}
{{ event.location }}
{% for attendee in event.attendee_set.order_by__last_name %}
{{ attendee.first_name }} {{ attendee.last_name }}
{% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
唉,上面的语法不起作用(它产生一个空列表),我也没有想过任何其他变化(报告了很多语法错误,但没有快乐).
当然,我可以在我的视图中生成某种排序的与会者列表,但这是一个丑陋而脆弱的(我提到丑陋)解决方案.
毋庸置疑,但无论如何我会说,我已经仔细阅读了在线文档并搜索了Stack Overflow和django-user的档案而没有发现任何有用的东西(啊,如果只有一个查询集是字典,那么dictsort就会这样做工作,但它不是,它没有)
==============================================
在接受Tawmas的回答后,编辑添加了其他想法.
Tawmas完全像我提出的那样解决了这个问题 - 虽然解决方案不是我所期望的.结果,我学到了一种可用于其他情况的有用技术.
汤姆的回答提出了我在我的OP中已经提到的一种方法,暂时被拒绝为"丑陋".
"丑陋"是一种直觉反应,我想澄清它的错误.在这样做时,我意识到这是一个丑陋的方法的原因是因为我对将查询集传递给要呈现的模板的想法感到困惑.如果我放松了这个要求,那么应该采用一种不起眼的方法.
我还没有尝试过这个,但是假设不是传递查询集,而是通过查询集迭代生成事件列表的视图代码,然后使用针对WAS排序(或过滤的)对应参与者的查询集来装饰每个事件.或者其他什么)以期望的方式.像这样的东西:
eventCollection = []
events = Event.object.[filtered and …Run Code Online (Sandbox Code Playgroud) 我想从python播放我的歌曲(mp3),你能给我一个最简单的命令吗?
这不正确:
import wave
w = wave.open("e:/LOCAL/Betrayer/Metalik Klinik1-Anak Sekolah.mp3","r")
Run Code Online (Sandbox Code Playgroud) 我想使用ReStructuredText在标题和图像之间添加一个空白行(或添加更多空格):
====
John
====
.. image:: _static/john.JPG
:alt: John
:height: 300px
:width: 400px
Run Code Online (Sandbox Code Playgroud)
但我不知道该怎么做?
我正在开发一个关于android version2.2的程序.我已经阅读了很多关于支持多种屏幕尺寸的文档但仍然感到困惑 我设计了一个支持大屏幕和普通屏幕的布局文件,当我尝试使用小屏幕时,它不会调整布局以适应屏幕.我也在清单中使用了这段代码.
<supports-screens
android:resizeable="true"
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="true"
/>
Run Code Online (Sandbox Code Playgroud)
小屏幕的图像就在这里. 如何设置与小屏幕兼容的屏幕?在某处我通过使用文件夹"layout-small"找到了,但是如果我使用它,项目大小正在增加,我不希望这样,那么任何人都可以建议我这样做的最佳方法吗?
我们公司的定价取决于多个参数,现在我们想为Django中的现有设置引入另一个可能的M2M参数。
为此,我们有一个现有的定价表,该表对unique_together除之外的所有字段都有约束price_field。在示例中为通用/基于字母的命名表示歉意。
class PricingTable(models.Model):
a = models.ForeignKey(A, on_delete=models.CASCADE)
price = MoneyField()
b = ArrayField(models.CharField(choices=CHOICES))
c = models.ForeignKey(C, on_delete=models.CASCADE)
class Meta:
ordering = ("a",)
unique_together = ("a", "b", "c")
def validate_b(self):
# b can't be empty
if not len(self.b) >= 1:
raise ValueError
# each element in b needs to be unique
if not len(self.b) == len(set(self.b)):
raise ValueError
# each element in b needs to be unique together with a & c
for i in self.b: …Run Code Online (Sandbox Code Playgroud) Q1 - 以下是set()a generator expression还是a set comprehension?(或者它们是否相同?如果是这样,那么list&dictcomprehensions是否也在发电机上进行相应的类型转换?)
my_set = {x for x in range(10)}
Run Code Online (Sandbox Code Playgroud)
Q2 - 评估是否考虑重复值,然后通过应用删除它们set()?
dup_set = {x for x in [0, 1, 2, 0, 1, 2]}
Run Code Online (Sandbox Code Playgroud)
理解是否比常规for循环更好地执行(速度方面)?
更新 - 我尝试timeit用于速度比较.我不确定我是否只是(公平).
C:\>python -m timeit "s = set()" "for x in range(10):" "
s.add(x)"
100000 loops, best of 3: 2.3 usec per loop
C:\>python -m timeit "s = {x for x …Run Code Online (Sandbox Code Playgroud) 基于CodeReview上的这篇文章.
我有一个
FooPython(3)类,当然包括一个__init__()方法.这个类会触发一些提示并完成它的工作.说我希望能够重置,Foo所以我可以重新开始这个程序.
什么是首选实施?
__init__()再次调用该方法
def reset(self):
self.__init__()
Run Code Online (Sandbox Code Playgroud)
或创建一个新实例?
def reset(self):
Foo()
Run Code Online (Sandbox Code Playgroud)
Foo如果reset多次调用,我不确定是否在可能影响性能的任何事物后面创建一个新的叶子实例.另一方面,__init__()如果并非(重新)定义所有属性,则可能会产生副作用__init__().
有没有一种首选的方法呢?
我有以下tests目录树:
tests/
subfolder_1/
test_1.py
subfolder_2/
subsubfolder/
subsubsubfolder/
test_2.py
Run Code Online (Sandbox Code Playgroud)
py.test 只找到test_1.py. 我怎样才能让它找到test_2.py?
python ×8
django ×2
python-3.x ×2
android ×1
apt ×1
audio ×1
class ×1
dpkg ×1
generator ×1
graph ×1
mp3 ×1
php ×1
postgresql ×1
pytest ×1
set ×1
sql-order-by ×1
ubuntu ×1
ubuntu-16.04 ×1