小编nel*_*ela的帖子

python格式字符串未使用的命名参数

比方说我有:

action = '{bond}, {james} {bond}'.format(bond='bond', james='james')
Run Code Online (Sandbox Code Playgroud)

这个输出:

'bond, james bond' 
Run Code Online (Sandbox Code Playgroud)

接下来我们有:

 action = '{bond}, {james} {bond}'.format(bond='bond')
Run Code Online (Sandbox Code Playgroud)

这将输出:

KeyError: 'james'
Run Code Online (Sandbox Code Playgroud)

是否有一些解决方法可以防止此错误发生,例如:

  • 如果keyrror:忽略,别管它(但要解析别人)
  • 比较格式字符串和可用的命名参数,如果缺少则添加

python string string-formatting missing-data defaultdict

48
推荐指数
5
解决办法
2万
查看次数

Django Queryset用于在json中使用

我有以下queryset:

prices = Price.objects.filter(product=product).values_list('price', 'valid_from')
Run Code Online (Sandbox Code Playgroud)

我如何得到"json"的价格

{"aaData": [
    ["70.1700", "2007-01-01"], # price, valid_form
    ["72.6500", "2008-01-01"], # price, valid_form
    ["74.5500", "2009-01-01"], # price, valid_form
    ["76.6500", "2010-01-01"]
]}
Run Code Online (Sandbox Code Playgroud)

django

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

Highcharts工具提示始终位于光标的右侧

我想在光标的右侧显示工具提示.

我查看了文档/示例,但我找不到强制工具提示保留在光标右侧的方法.

谁能告诉我怎么做?

使用工具提示定位器,我只能设置默认位置.

highcharts

14
推荐指数
1
解决办法
2万
查看次数

Django加载本地json文件

我有一个ajax视图:

def ajax_prices(request):
    data = {'data':'data'}
    return HttpResponse(json.dumps(data), mimetype='application/json')
Run Code Online (Sandbox Code Playgroud)

我想用本地json文件(prices.json)测试它.如何导入本地json文件?

本地json文件'prices.json'

{"aaData": [
[1, "70.1700", "2008-12-29 11:23:00"],
[2, "70.2600", "2008-12-29 16:22:00"],
[3, "70.6500", "2008-12-30 11:30:00"],
[4, "70.8700", "2008-12-30 16:10:00"],
[5, "70.5500", "2009-01-02 11:09:00"],
[6, "70.6400", "2009-01-02 16:15:00"],
[7, "70.6500", "2009-01-05 11:17:00"]
]}
Run Code Online (Sandbox Code Playgroud)

我不能这样做:

data = '/static/prices.json'
Run Code Online (Sandbox Code Playgroud)

python django json

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

Django在数据库日期之间进行选择

使用_range可以在查询之间执行

start_date = datetime.date(2005, 1, 1)
end_date = datetime.date(2005, 3, 31)
Entry.objects.filter(pub_date__range=(start_date, end_date))
Run Code Online (Sandbox Code Playgroud)

如果您有2个日期并且想要检查het DB中的日期是否在这两个日期之间,则可以使用此日期

在我的情况下,我有1个日期,并想检查该日期是否在db中我的2个日期字段之间

class Deals(models.Model):
    #stuff
    starting = models.DateField()
    ending = models.Datefield()
Run Code Online (Sandbox Code Playgroud)

如何在查询之间执行检查是否month = '2010-01-01'在开始和结束之间

编辑

我在de Deals表中有交易.我想知道2010年1月(2010-01-01),2010年2月(2010-02-01)等是否有交易

像这样

SELECT * FROM deals WHERE '2010-01-01' BETWEEN starting AND ending 
Run Code Online (Sandbox Code Playgroud)

django

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

重命名python tempfile

重命名以下临时文件的方法是什么

pdf = render_me_some_pdf() #PDF RENDER
f = tempfile.NamedTemporaryFile()
f.write(pdf)
f.flush()
Run Code Online (Sandbox Code Playgroud)

我读了一些关于os.rename的事情,但我现在还不知道如何应用它

python

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

系列和标志的Highchart/stock工具提示格式化程序

在以下示例中,如何为两个系列AND标志格式化工具提示?

http://jsfiddle.net/gh/get/jquery/1.7.1/highslide-software/highcharts.com/tree/master/samples/stock/plotoptions/flags/

我想在标记工具提示中显示系列工具提示和其他数据中的额外信息.

highcharts highstock

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

如何将json解析为highcharts

下列:

$.get('/api/ajax_prices/' + product +'/', afterEndexPricesLoaded)
Run Code Online (Sandbox Code Playgroud)

返回一个json对象

{"aaData": [
    [1, "70.1700", "2008-12-29 11:23:00"],
    [2, "70.2600", "2008-12-29 16:22:00"],
    [3, "70.6500", "2008-12-30 11:30:00"],
    [4, "70.8700", "2008-12-30 16:10:00"],
    [5, "70.5500", "2009-01-02 11:09:00"],
    [6, "70.6400", "2009-01-02 16:15:00"]
]}
Run Code Online (Sandbox Code Playgroud)

我试图将json字符串解析为highchart

这是我正在尝试的代码(data =以上json字符串):

function afterPricesLoaded(data, textStatus, xhr) {

    var options = {
        chart: {
            renderTo: 'graph'
        },
        title: {
            text: 'Some text',
            style: {
                color: '#888888'
            }
        },
        xAxis: {
            type: 'datetime'
        }
        /*
        series: [{

            data: [
                [Date.UTC(2011, 0, 0), 29.9],
                [Date.UTC(2012, 0, 0), 71.5], …
Run Code Online (Sandbox Code Playgroud)

javascript json highcharts

4
推荐指数
1
解决办法
1万
查看次数

如何使用EncryptedCharfield

是否有任何文档或示例/教程,如何使EncryptedCharField在Django模型中工作?

我花了一些时间在django项目中安装django-extension + keyczar等。没有文档如何安装它。

到目前为止,这是什么:

点安装django-extensions

已将“ django_extensions”添加到INSTALLED_APPS

pip安装python-keyczar

使用EncryptedCharField创建了一个模型+添加的字段

添加了ENCRYPTED_FIELD_KEYS_DIR ='../../../enc-keys'

下载了KeyczarTool-0.71g-090613.jar

运行以下命令:java -jar KeyczarTool-0.71g-090613.jar create --location =。/ enc-keys --purpose = crypt --name =“ first key” --asymmetric = rsa

到目前为止一切顺利,但是当我运行服务器时,出现以下错误:

keyczar.errors.KeyNotFoundError:带有hash_val标识符的密钥找不到。

TRACEBACK
  File "/Users/nv/Projects/project/models/client.py", line 78, in <module>
    class Authorization(models.Model):
  File "/Users/nv/Projects/project/models/client.py", line 86, in Authorization
    iban_enc = EncryptedCharField(max_length=155)
  File "/Users/nv/Projects/project/lib/python2.7/site-packages/django_extensions/db/fields/encrypted.py", line 121, in __init__
    super(EncryptedCharField, self).__init__(*args, **kwargs)
  File "/Users/nv/Projects/project/lib/python2.7/site-packages/django_extensions/db/fields/encrypted.py", line 32, in __init__
    max_length = len(self.prefix) + len(self.crypt.Encrypt('x' * max_length))
  File "/Users/nv/Projects/project/lib/python2.7/site-packages/keyczar/keyczar.py", line 338, in Encrypt
    encrypting_key = …
Run Code Online (Sandbox Code Playgroud)

django-extensions keyczar

3
推荐指数
1
解决办法
1384
查看次数

Querydict一个字符串

我有以下字符串:

string = 'amount=2000|captureDay=0|captureMode=AUTHOR_CAPTURE|currencyCode=978|merchantId=002020000000001|orderId=|transactionDateTime=2012-04-12T12:09:56+02:00|transactionReference=1212943|keyVersion=1|authorisationId=0020000006791167|complementaryCode=|maskedPan=|paymentMeanBrand=IDEAL|paymentMeanType=CREDIT_TRANSFER|responseCode=00'
Run Code Online (Sandbox Code Playgroud)

我该如何制作一个querydict呢?

我希望能够使用item['amount']哪种回报2000

编辑:

到目前为止我尝试过的:

dict = string.split('|')
Run Code Online (Sandbox Code Playgroud)

输出是:

['amount=2000', 'captureDay=0', 'captureMode=AUTHOR_CAPTURE', 'currencyCode=978', 'merchantId=002020000000001', 'orderId=', 'transactionDateTime=2012-04-12T12:09:56+02:00', 'transactionReference=1212943', 'keyVersion=1', 'authorisationId=0020000006791167', 'complementaryCode=', 'maskedPan=', 'paymentMeanBrand=IDEAL', 'paymentMeanType=CREDIT_TRANSFER', 'responseCode=00']
Run Code Online (Sandbox Code Playgroud)

python django

2
推荐指数
1
解决办法
7038
查看次数

Django queryset使用一次

对不起,但我不知道我应该给这个问题什么标题(建议?)

我有以下模型:

class Stuff(models.Model):
    summer = models.CharField()
    winter = models.CharField()
    #other fields
Run Code Online (Sandbox Code Playgroud)

以及以下观点:

def get_stuff(request, type, id):
    if type == 'summer':
        qs = Stuff.objects.filter(summer=id)
    if type == 'winter':
        qs = Stuff.objects.filter(winter=id)
    return qs
Run Code Online (Sandbox Code Playgroud)

我怎么能只使用一次查询,因为我知道要查看哪个字段?像这样:

Stuff.objects.filter(type=id) #type = summer or winter field
Run Code Online (Sandbox Code Playgroud)

例:

type='summer'
id=1
Stuff.objects.filter(type=id) => Stuff.objects.filter(summer=id)

type='winter'
id=1
Stuff.objects.filter(type=id) => Stuff.objects.filter(winter=id)
Run Code Online (Sandbox Code Playgroud)

django

0
推荐指数
1
解决办法
40
查看次数

在dict中加起来

series[1][2] = 3
val = 7
Run Code Online (Sandbox Code Playgroud)

我如何添加valseries[1][2],这样series[1][2]变成10?

python

0
推荐指数
1
解决办法
56
查看次数

将部分字符串更改为*

假设我有一个IBAN: NL20INGB0001234567

如何将除最后4位之外的所有数字更改为*:

Input: NL20INGB0001234567
Output: NL20INGB******4567
Run Code Online (Sandbox Code Playgroud)

所有数字但NL*20*

python string

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