class Product(models.Model):
name = models.CharField(max_length=50)
slug = models.SlugField()
unit_price = models.DecimalField(max_digits=5, decimal_places=2)
Run Code Online (Sandbox Code Playgroud)
我是Django的新手.如何使用会话设计购物篮?(询问一般的"算法"或一些示例代码)
我有django在oracle后端运行.我需要使用两个模式 - 一个用于遗留DB,第二个用于所有django相关表.
所以这是我的设置.数据显示:
APPS_DB = 'apps'
DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.oracle'
'NAME': 'django',
'USER': 'django-tables',
'PASSWORD': '****',
'HOST': 'localhost',
'PORT': '1531',
},
APPS_DB : {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'django',
'USER': 'legacy-stuff',
'PASSWORD': '****',
'HOST': 'localhost',
'PORT': '1531',
},
}
Run Code Online (Sandbox Code Playgroud)
我还定义了路由器:
class MyRouter(object):
"""A router to control all database operations on models"""
def __init__(self):
aux = []
for app in settings.INSTALLED_APPS:
if not app.endswith('myapp'):
aux.append(app)
self.djangoStuff = tuple(map(lambda x: x[x.rfind('.')+1:], aux))
def is_django_stuff(self, model):
return model._meta.app_label in …Run Code Online (Sandbox Code Playgroud) 我正在显示一个modelformset,我希望表单通过其字段之一的内容进行排序。因此,我想对SomeModel.objects.filter(whatever).order_by('somefield')模板中的(模型)formset 使用等效项。
我怎样才能做到这一点?
请注意,can_order它并不能满足我的要求(它必须是自动的,不是用户指定的)。我也尝试过其他事情,例如dictsort过滤器,但是会产生不可预测的输出(即未按指定字段排序)。
我什至尝试过{% regroup formset by somefield as sorted_formset %},但是结果sorted_formset不能用作(重复)正常的形式集。
可能是一个非常天真的问题:
我有一个清单:
color = ["red","blue","red","green","blue"]
Run Code Online (Sandbox Code Playgroud)
现在,我想遍历列表
for c in color:
# color is "red"
get the rest of the colors except this red
so rest = ["blue","red","green",blue"]
Run Code Online (Sandbox Code Playgroud)
在下一次迭代中:
c = blue
rest = ["red","red","green","blue"]
Run Code Online (Sandbox Code Playgroud)
呃.为什么我有一种感觉,这是非常微不足道的..并且可能有一个单行命令可以解决这个问题?谢谢
首先,我了解了Python装饰器是什么以及它们是如何工作的.我希望它能做到这样的事情:
def age_over_18(go_enjoy_yourself):
def go_home_and_rethink_your_life():
return 'So you should go home and rethink your life.'
return go_enjoy_yourself if age_stored_somewhere > 18 else go_home_and_rethink_your_life
@age_over_18
def some_porn_things():
return '-Beep-'
Run Code Online (Sandbox Code Playgroud)
但我发现装饰器是在Python首次读取函数时执行的,这意味着该函数实际上什么也不做.
我知道我可以这样写:
def some_porn_things():
if age_stored_somewhere > 18:
...
else:
...
Run Code Online (Sandbox Code Playgroud)
但我只是认为装饰者优雅且易于理解,所以问题是:
在调用函数之前,我可以延迟装饰器吗?
如何从Python程序中获取终端的状态?我希望程序在屏幕已满时停止将行打印到屏幕并等待用户输入.
我想匹配以下网址
url(r'^home/Physician|Vendor/$, 'ViewerLog', name="monitor_viewerLog"),
Run Code Online (Sandbox Code Playgroud)
我如何匹配医生或供应商?这是正确的方法吗?
我是否可以获取在不同文件中定义的变量的行号。例如:
file1.py
x = 5
mylist = [ 1, 2, 3]
file2.py
execfile("file1.py")
# TODO
# get line number of 'x' or 'mylist'
Run Code Online (Sandbox Code Playgroud)
我假设每个变量仅定义一次,但以防万一它们定义多次怎么办?
谢谢
我在test.py中编写了这个简单的代码(在python中).我尝试运行timeit,我没有任何错误,但我没有得到任何有关运行时间的信息.你能帮助我吗 ?
import timeit
def functionsWhile():
"Desc about function"
lic = 0
n = 30000
while lic<= n:
lic += 1
#print "test"
return lic
t = timeit.Timer("functionsWhile()", "from __main__ import functionsWhile")
try:
t.repeat(3, 2)
except:
t.print_exc()
Run Code Online (Sandbox Code Playgroud)
我期待一个结果如(例子):
$>python test.py
[0.006793975830078125, 0.006793975830078125, 0.006793975830078125]
$>
Run Code Online (Sandbox Code Playgroud)
但我只有:
$>python test.py
$>
Run Code Online (Sandbox Code Playgroud)
我没有timeit的结果.我使用python 2.7和linux.
python ×7
django ×4
decorator ×1
django-orm ×1
django-urls ×1
oracle ×1
orm ×1
python-2.3 ×1
regex ×1
timeit ×1