小编Col*_*ole的帖子

Pycharm:为运行manage.py任务设置环境变量

我已将我的SECRET_KEY值从我的设置文件中移出,并在我加载virtualenv时设置它.我可以确认该值是否存在python manage.py shell.

当我运行Django控制台时,SECRET_KEY它应该丢失.所以在首选项中,我转到Console> Django Console并加载SECRET_KEY适当的值.我回到Django控制台,SECRET_KEY就在那里.

正如所料,我还没有运行manage.py任务,因为它还没有找到SECRET_KEY.所以我进入Run> Edit Configurations SECRET_KEY进入Django服务器和Django测试,并进入项目服务器.重启Pycharm,确认密钥.

当我运行manage.py任务时runserver,我仍然可以KeyError: 'SECRET_KEY'.

我在哪里放这把钥匙?

python django pycharm

37
推荐指数
7
解决办法
5万
查看次数

Python:理解(如果(从g得到)和False,则为g in g)

詹姆斯鲍威尔在他即将发表的演讲的简短描述中表示,他是最狡猾的Python单线之一的自豪发明者:

(None for g in g if (yield from g) and False)
Run Code Online (Sandbox Code Playgroud)

我试图弄清楚这个生成器,因为我使用Python 2.7.x,我也绊倒了(yield from g)表达式.

我怎么读这个,什么是python 2.7.x模拟?


下面有一个很棒的讨论!我想检查一下我的主体是否正确.

>>> l = [10, 11, iter(xrange(5)), 12, 13]
>>> g = iter(l)
>>> flat_g = (None for g in g if (yield from g) and False)
>>> list(flat_g)
[10, 11, 0, 1, 2, 3, 4, 12, 13]
Run Code Online (Sandbox Code Playgroud)

那是对的吗?

python

20
推荐指数
1
解决办法
353
查看次数

getattr()与dict查找,哪个更快?

一个有点无趣,最佳实践的问题.我object.__dict__[some_key]根据习惯动态查找对象属性值.现在我想知道哪个更好/更快:我目前的习惯还是getattr(object,some_key).如果一个更好,为什么?

>>> class SomeObject:
...     pass
... 
>>> so = SomeObject()
>>> so.name = 'an_object'
>>> getattr(so,'name')
'an_object'
>>> so.__dict__['name']
'an_object'
Run Code Online (Sandbox Code Playgroud)

python performance dynamic-attributes getattr

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

按任意键排序元组列表

order = ['w','x','a','z']
[(object,'a'),(object,'x'),(object,'z'),(object,'a'),(object,'w')]
Run Code Online (Sandbox Code Playgroud)

如何根据"order"提供的键列表按第二个元素对上面的元组列表进行排序?

2013年11月18日更新:

我找到了一个更好的方法来解决这个问题的变化,其中键肯定是唯一的,在这个问题中详细说明:Python:使用dict来加速元组列表的排序.

我的上述问题不太适用,因为元组的列表有两个元组,其键值为'a'.

python

9
推荐指数
1
解决办法
756
查看次数

在数据库中存储每个芹菜任务的任务ID

我用过芹菜MySQL.我想将任务id存储为数据库或celery变量中的普通整数task.我怎样才能做到这一点?

django celery celery-task django-celery

7
推荐指数
1
解决办法
5785
查看次数

在python中向上计数然后向下计算一个范围

我正在尝试编制一个标准的蛇选项,其中A队选秀,B队,C队,C队,B队,A队,恶心.

如果选秀号码13(或选秀号码x)刚刚发生,我怎样才能确定哪支球队接下来会选择n队.

我有类似的东西:

def slot(n,x):
    direction = 'down' if (int(x/n) & 1) else 'up'
    spot = (x % n) + 1
    slot = spot if direction == 'up' else ((n+1) - spot)
    return slot
Run Code Online (Sandbox Code Playgroud)

我觉得有一个比这个解决方案更简单,更pythonic的东西.任何人都想关注它吗?

所以我玩了一点.我正在寻找单个值的返回,而不是计算循环列表的最佳方法.最直接的答案可能是:

def slot(n, x): # 0.15757 sec for 100,000x 
    number_range = range(1, n+1) + range(n,0, -1)
    index = x % (n*2)
    return number_range[index]
Run Code Online (Sandbox Code Playgroud)

这会创建一个列表[1,2,3,4,4,3,2,1],计算出索引(例如13%(4*2)= 5),然后从列表中返回索引值(例如4).列表越长,功能越慢.

我们可以使用一些逻辑将列表减半.如果我们正在计数(即(int(x/n) & 1)返回False),我们得到明显的索引值(x%n),否则我们从n + 1中减去该值:

def slot(n, x): # 0.11982 sec for 100,000x 
    number_range = range(1, n+1) + …
Run Code Online (Sandbox Code Playgroud)

python

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

django预先计算并缓存视图

这可能是一个python问题.这是一个肯定的诺贝尔人.

客户端请求计算密集型页面[第1页]并最终请求第二个计算密集型页面[第2页],可以计算第1页请求已知的实例.我不希望在提供第1页之前计算每组数据,因为它会显着降低初始响应的性能.

我想在客户端读取第1页时计算第2页的值.客户端也可能会点击某些按钮,这些按钮会导致响应提供不同的第1页数据视图,但不需要进行密集计算.最终但不一定立即,客户端将要求第2页,我希望能够以预先呈现的响应进行响应.

我该怎么做呢?

python django

6
推荐指数
1
解决办法
848
查看次数

亚马逊MWS的Boto方法GetLowestPricedOffersForSKU

Boto提供对大多数亚马逊MWS API的访问,但不提供对GetLowestPricedOffersForSKU的访问.我试图破解一个,但它会产生Invalid MarketplaceId错误.

Boto有一个结构非常相似的API代码 - GetLowestOfferListingsForSKU:

@requires(['MarketplaceId', 'SellerSKUList'])
@structured_lists('SellerSKUList.SellerSKU')
@api_action('Products', 20, 5, 'GetLowestOfferListingsForSKU')
def get_lowest_offer_listings_for_sku(self, request, response, **kw):
    """Returns the lowest price offer listings for a specific
       product by item condition and SellerSKUs.
    """
    return self._post_request(request, kw, response)
Run Code Online (Sandbox Code Playgroud)

所以我修改了@api_action将MWS操作更改为GetLowestPricedOffersForSKU:

### MINE ###
@requires(['MarketplaceId', 'SellerSKUList'])
@structured_lists('SellerSKUList.SellerSKU')
@api_action('Products', 20, 5, 'GetLowestPricedOffersForSKU')
def get_lowest_priced_offers_for_sku(self, request, response, **kw):
    return self._post_request(request, kw, response)
Run Code Online (Sandbox Code Playgroud)

我将此方法称为如下:

conn = connection.MWSConnection(
    aws_access_key_id=ACCESS_KEY,
    aws_secret_access_key=SECRET_KEY,
    Merchant=ACCOUNT_ID
)
response = conn.get_lowest_priced_offers_for_sku(
    MarketplaceId=marketplace_id, SellerSKUList=sku_list, ItemCondition=condition
)
Run Code Online (Sandbox Code Playgroud)

当我打电话时get_lowest_priced_offers_for_sku,我收到一个 …

python boto amazon-web-services amazon-mws

6
推荐指数
1
解决办法
489
查看次数

为多个数据库设置MySQLdb连接对象

这个问题可能很无聊.

而不是硬编码MySQLdb连接对象:例如,

db = MySQLdb.connect('localhost','name','pwrd','db_name')
Run Code Online (Sandbox Code Playgroud)

如何设置它以便我可以从列表或其他变量中指定db_name(或连接对象的任何其他部分).例如:

for NAME from list_of_names:
    db = MySQLdb.connect('localhost', 'name', 'pwrd', NAME)
Run Code Online (Sandbox Code Playgroud)

python database-connection mysql-python

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

Django:调试 AttributeError:无法设置属性

注意:我终于找到了这个错误,所以下面的文字也许只对我有价值。简短的回答:我决定根据我之前定义为@property-method. 我没有删除的唯一地方@property-method是在兰花模型中。


经过一些调整和戳我的代码后,我突然收到这个错误:AttributeError: can't set attribute. 我没有更改任何代码Orchid,但我现在收到此错误:

>>> orc = Orchid.objects.get(id=1)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/Users/cole/PycharmProjects/Sites/virtualenvs/orchidislandcapital.com/lib/python2.7/site-packages/django/db/models/manager.py", line 151, in get
    return self.get_queryset().get(*args, **kwargs)
  File "/Users/cole/PycharmProjects/Sites/virtualenvs/orchidislandcapital.com/lib/python2.7/site-packages/django/db/models/query.py", line 301, in get
    num = len(clone)
  File "/Users/cole/PycharmProjects/Sites/virtualenvs/orchidislandcapital.com/lib/python2.7/site-packages/django/db/models/query.py", line 77, in __len__
    self._fetch_all()
  File "/Users/cole/PycharmProjects/Sites/virtualenvs/orchidislandcapital.com/lib/python2.7/site-packages/django/db/models/query.py", line 854, in _fetch_all
    self._result_cache = list(self.iterator())
  File "/Users/cole/PycharmProjects/Sites/virtualenvs/orchidislandcapital.com/lib/python2.7/site-packages/django/db/models/query.py", line 230, in iterator
    obj = model(*row_data)
  File "/Users/cole/PycharmProjects/Sites/virtualenvs/orchidislandcapital.com/lib/python2.7/site-packages/django/db/models/base.py", line 347, in __init__
    setattr(self, …
Run Code Online (Sandbox Code Playgroud)

django django-models

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