小编ran*_*lan的帖子

如何使用会话设计购物篮?

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 shopping-cart database-design

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

django multi db routing不适用于多个模式

我有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)

oracle django orm django-models django-orm

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

更改表单集中表单的显示顺序

我正在显示一个modelformset,我希望表单通过其字段之一的内容进行排序。因此,我想对SomeModel.objects.filter(whatever).order_by('somefield')模板中的(模型)formset 使用等效项。

我怎样才能做到这一点?

请注意,can_order它并不能满足我的要求(它必须是自动的,不是用户指定的)。我也尝试过其他事情,例如dictsort过滤器,但是会产生不可预测的输出(即未按指定字段排序)。

我什至尝试过{% regroup formset by somefield as sorted_formset %},但是结果sorted_formset不能用作(重复)正常的形式集。

python django

6
推荐指数
3
解决办法
4137
查看次数

从list中检索元素:python

可能是一个非常天真的问题:

我有一个清单:

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

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

在调用函数之前,我可以延迟装饰器吗?

首先,我了解了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 decorator

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

如何在python中输出填满屏幕时停止程序?

如何从Python程序中获取终端的状态?我希望程序在屏幕已满时停止将行打印到屏幕并等待用户输入.

python user-interface command-line-interface

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

django url如何指定2个或更多字符串

我想匹配以下网址

 url(r'^home/Physician|Vendor/$, 'ViewerLog', name="monitor_viewerLog"),
Run Code Online (Sandbox Code Playgroud)

我如何匹配医生或供应商?这是正确的方法吗?

python regex django django-urls

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

获取在不同文件中定义的变量的行号

我是否可以获取在不同文件中定义的变量的行号。例如:

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)

我假设每个变量仅定义一次,但以防万一它们定义多次怎么办?

谢谢

python python-2.3

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

Python - 没有来自timeit的结果

我在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 timeit

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