我有一个代码:
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) 在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) 我正在尝试一些字符串输出,我遇到了一些在打印时抛出错误的东西
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运算符连接字符串中的变量
我想做一些排序,我想到的是使用名为 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) 大家好,我有关于数据库迁移的问题.我试图从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) 我是 IOS 和 Android 应用程序开发的新手,我正在寻求知识。我有一个 Django Web API,其配置为
CORS_ORIGIN_WHITELIST = ('example1.com', 'example2.com')
Run Code Online (Sandbox Code Playgroud)
我知道只有这两个主机名中的应用程序才是我的 Web API 会接受的请求,但我的问题是.. 我要构建以连接到我的 Web API 的 IOS 和 Android 应用程序怎么样?这些也会被屏蔽吗?
我想要实现的是动态检索项目,例如:
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"值将来自请求,因此其值将是动态的.
我已经检查了supported-gcp-types和supported-resource-types,但根本看不到任何可能性
google-cloud-sql google-cloud-platform google-deployment-manager