小编Jil*_*loc的帖子

按值获取枚举名称

有没有标准方法可以获得 Enumeration names by value?

一个例子:

class Example(enum.Enum):
    one = 1
    two = 2

ex_variable = 1
Run Code Online (Sandbox Code Playgroud)

给定ex_variable,我可以获取Example.one.name中包含的字符串吗?

python enums enumeration

39
推荐指数
2
解决办法
3万
查看次数

如果我使用virtualenv,为什么我应该使用vagrant?

我读过这个问题我是否需要使用带有Vagrant的virtualenv?但我想知道相反的情况.

我编程并部署到UNIX/Linux环境(分别是MAC OSX和Ubuntu),我使用virtualenv来保持环境隔离.

其实我从来没有遇到任何问题,但我看到一些人和很多教程建议一起使用它们,我想知道是否以及为什么我应该使用流浪汉,有人可以向我解释一下吗?

python django virtual-machine virtualenv vagrant

13
推荐指数
1
解决办法
2590
查看次数

最佳实践:Django多语言

我是django的初学者.(我刚刚完成了本教程并遵循本指南http://www.gettingstartedwithdjango.com)我想建立一个多语言内容的网站,我知道哪种是最佳做法,至少对于模型:

  1. 使用不同的表(每种语言1个)
  2. 仅使用一个表,在模型中使用该语言的额外属性
  3. 我不知道

弗拉迪斯拉夫是对的,这完全取决于该表所包含的数据.举个例子:

class Book(models.Model):
    created_at = models.DateTimeField(auto_now_add=True, editable=False)
    name = models.CharField(max_length=255, unique=True)
    plot = models.TextField()
    slug = models.SlugField(max_length=255, blank=True, default='')

class Chapter(models.Model):
    book = models.ForeignKey(Book)
    chapter = models.SmallIntegerField()
    title = models.CharField(max_length=255, blank=True)
    pages = models.SmallIntegerField()
    pub_date = models.DateTimeField(auto_now_add=True)
Run Code Online (Sandbox Code Playgroud)

可能性:

  1. 我可能有一本完整的所有语言的书
  2. 我可能只用一种语言就有一本完整的书
  3. 我可能有一本完整的一种语言书,但只有一些章节用另一种语言

所以我认为我必须为每种语言保留一本书的实例,我至少有一本书的章节.

我希望很清楚!再次感谢大家

django multilingual django-models

10
推荐指数
1
解决办法
6590
查看次数

Django loaddata - 内存不足

我使用dumpdata转储了我的数据库,并创建了一个500mb的 json文件

现在我正在尝试使用loaddata来恢复数据库,但似乎Django尝试在应用它之前将整个文件加载到内存中,并且我得到内存不足错误并且该进程被终止.

有没有办法绕过这个问题?

python django database-restore

6
推荐指数
2
解决办法
3665
查看次数

用lxml下载Python的图像

我需要在类似于这个的HTML代码中找到一个图像:

...
<a href="/example/1"> 
    <img id="img" src="http://example.net/example.jpg" alt="Example" />
</a>
...
Run Code Online (Sandbox Code Playgroud)

我正在使用lxml和请求.

这是代码:

import lxml
from lxml import html
import requests

url = 'http://www.example.com'

r = requests.get(url)
tree = lxml.html.fromstring(r.content)

img = tree.get_element_by_id("img")
f = open("image.jpg",'wb')
f.write(requests.get(img['src']).content)
Run Code Online (Sandbox Code Playgroud)

但我收到一个错误:

Traceback (most recent call last):
  File "/Users/Name/Documents/Python/Example/Script.py", line 13, in <module>
    s = requests.get(img['src'])
  File "/Library/Python/2.6/site-packages/lxml/lxml.etree.pyx", line 1052, in lxml.etree._Element.__getitem__ (src/lxml/lxml.etree.c:38272)
TypeError: 'str' object cannot be interpreted as an index
Run Code Online (Sandbox Code Playgroud)

建议?

python lxml web-scraping python-requests

5
推荐指数
1
解决办法
3911
查看次数

uWSGI独特的计时器python装饰器

我想运行一个类似cron的命令与python装饰器,需要是唯一的(所以如果前一个进程仍在运行,它不会启动一个新进程)与uwsgi.

看一下文档(http://uwsgi-docs.readthedocs.org/en/latest/PythonDecorators.html)我看到我可以做这样的事情

task.py

from uwsgidecorators import *

@timer(600)   #every 10 minutes
def myfunction(signum):
    pass
Run Code Online (Sandbox Code Playgroud)

uwsgi.ini

[uwsgi]
...
import=task
...
Run Code Online (Sandbox Code Playgroud)

但是这种方式并不像我做的那样独特(遵循文档http://uwsgi-docs.readthedocs.org/en/latest/Cron.html)

task.py

...
all_my_tasks
...
Run Code Online (Sandbox Code Playgroud)

uwsgi.ini

[uwsgi]
...
cron2 = minute=-10,unique=1 python path/to/task.py
...
Run Code Online (Sandbox Code Playgroud)

有没有办法使用uwsgi的装饰器和计时器而不是cron?

uwsgi python-decorators

-1
推荐指数
1
解决办法
975
查看次数