小编Dea*_*ada的帖子

创建装饰器取决于 kwargs 参数作为参数

我有一个代码:

from functools import wraps

def my_decorator(f):
    @wraps(f)
    def wrapper(*args, **kwargs):
        print kwargs["name"] # Should display Dean Armada
        print 'Calling decorated function'
        return f(*args, **kwargs)
    return wrapper

@my_decorator(name="Dean Armada")
def example():
    """Docstring"""
    print 'Called example function'

example()
Run Code Online (Sandbox Code Playgroud)

我想要实现的是让我的装饰器依赖 kwargs 参数作为其所有参数。我上面的代码抛出此错误

my_decorator() got an unexpected keyword argument 'name'
Run Code Online (Sandbox Code Playgroud)

python python-decorators

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

如何在django中打印.get queryset的查询

在django中执行.get查询集时如何知道查询

我有这个型号:

class Artist(EsIndexable, models.Model):
    name = models.CharField(max_length=50)
    birth_date = models.DateField()
Run Code Online (Sandbox Code Playgroud)

我在shell中做了这个:

x = Artist.objects.get(name="Eminem")
print x.query
Run Code Online (Sandbox Code Playgroud)

然后我得到了错误:

AttributeError: 'Artist' object has no attribute 'query'
Run Code Online (Sandbox Code Playgroud)

python django

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

Python字符串百分号转义

我正在尝试一些字符串输出,我遇到了一些在打印时抛出错误的东西

x = "ll=%s%2C%20%s" % ("lat", "lng")
Run Code Online (Sandbox Code Playgroud)

上面的语法抛出一个错误:

ValueError: unsupported format character 'C' (0x43) at index 7
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?我希望得到一个结果:

ll=lat%2C%20lang
Run Code Online (Sandbox Code Playgroud)

使用%s运算符连接字符串中的变量

python

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

Django 请求 GET 参数值列表

我想做一些排序,我想到的是使用名为 ordering 的参数执行 GET 请求,该值将是我将用于排序的模型属性:

?order=['-age', 'height']
Run Code Online (Sandbox Code Playgroud)

问题是当我尝试接收订单参数时。值是一个列表。

我尝试像这样使用 ast:

if 'order' in request.GET:
        import ast
        order = ast.literal_eval(request.GET.get('order'))
        queryset = queryset.order_by(*order)
Run Code Online (Sandbox Code Playgroud)

有效。但是,我想避免使用 ast 库,还有其他方法吗?

更新

我这样做了我的参数:

?order=-age,height

并且像这样在 python 中使用 split :

if 'order' in request.GET:
    order = request.GET.get('order').split(',')
    queryset = queryset.order_by(*order)
Run Code Online (Sandbox Code Playgroud)

python django

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

Django makemigrations错误

大家好,我有关于数据库迁移的问题.我试图从2.7切换到3.4,这是我在制作时获得的

在此输入图像描述

adgc@mnl-adgc-pc1:~/Desktop/people$ python3 manage.py makemigrations
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.4/dist-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.4/dist-packages/django/core/management/__init__.py", line 330, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.4/dist-packages/django/core/management/base.py", line 390, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/local/lib/python3.4/dist-packages/django/core/management/base.py", line 441, in execute
     output = self.handle(*args, **options)
  File "/usr/local/lib/python3.4/dist-packages/django/core/management/commands/makemigrations.py", line 125, in handle
    migration_name=self.migration_name,
  File "/usr/local/lib/python3.4/dist-packages/django/db/migrations/autodetector.py", line 43, in changes
    changes = self._detect_changes(convert_apps, graph)
  File "/usr/local/lib/python3.4/dist-packages/django/db/migrations/autodetector.py", line 186, in _detect_changes
    self.generate_altered_fields()
  File "/usr/local/lib/python3.4/dist-packages/django/db/migrations/autodetector.py", line 850, in generate_altered_fields
    if …
Run Code Online (Sandbox Code Playgroud)

python django

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

iOS 和 Android 应用程序的 cors 标头白名单

我是 IOS 和 Android 应用程序开发的新手,我正在寻求知识。我有一个 Django Web API,其配置为

CORS_ORIGIN_WHITELIST = ('example1.com', 'example2.com')
Run Code Online (Sandbox Code Playgroud)

我知道只有这两个主机名中的应用程序才是我的 Web API 会接受的请求,但我的问题是.. 我要构建以连接到我的 Web API 的 IOS 和 Android 应用程序怎么样?这些也会被屏蔽吗?

django android cors ios django-cors-headers

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

动态获取django模型对象上的项目

我想要实现的是动态检索项目,例如:

x = "choice"
obj = Choices.objects.get(id=1)
obj[x]
Run Code Online (Sandbox Code Playgroud)

不:

obj.choice
Run Code Online (Sandbox Code Playgroud)

该模型是:

class Choices(models.Model):
    question = models.ForeignKey(Question)
    choice = models.TextField()
    correct = models.NullBooleanField
Run Code Online (Sandbox Code Playgroud)

PS

"x"值将来自请求,因此其值将是动态的.

python django

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