小编Jor*_*ter的帖子

如何在我的Django urls.py中使用单个RegEx捕获多个参数?

我有一个应用程序,允许您通过3个字段过滤数据.我正在尝试在我的urls.py中编写一个RegEx,它可以捕获多个组合,而不必将每个可能的组合写出它自己的URL.

这是我的urls.py:

#urls.py
urlpatterns = patterns('', 
    # Uncomment the next line to enable the admin:
    (r'^admin/', include(admin.site.urls)),

    (r'(?P<key>\w*?)=(?P<value>\w*?)&|$', views.scriptFilter),
Run Code Online (Sandbox Code Playgroud)

我在pythonregex.com上测试了上面的RegEx,它似乎捕获了尽可能多的键/值对.但是,当我在我的应用程序中测试它时,Django只返回基于第一对的查询集,并忽略其他对.

例如,如果我输入: http:// MYSITE/feature = 1&session = 1&

Django仅返回基于feature = 1的数据,并忽略session = 1.

这是我的views.py:

#views.py
def scriptFilter(request, key, value):
    if key == 'session':
        sessionID = value
        qs = models.Script.objects.filter(session=sessionID)
    elif key == 'product':
        productID = value
        qs = models.Script.objects.filter(product=productID)
    elif key == 'feature':
        featureID = value
        scriptFeature = models.Feature.objects.get(pk=featureID)    
        qs = models.Script.objects.filter(feature=scriptFeature)
    else:
        qs = models.Script.objects.all()        
    caseTotal = qs.aggregate(Sum('caseCount'))
    scriptTotal = …
Run Code Online (Sandbox Code Playgroud)

regex django django-urls django-views

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

在SQL Alchemy ORM上实施and(或)和(或)非查询

我正在学习SQL Alchemy,并使用ORM提取记录。

但是,有些功能似乎是另一种引入记录方式所独有的功能,例如sqlalchemy.and_',sqlalchemy.or_'等。

我想知道如何使用ORM,但仍使用一些“ OR”子句,以便执行以下操作:给定ORM对象,Person选择姓氏为“ Smith”或“ Lee”或“ Bishop”的所有记录,但排除记录年龄小于18岁

仅当我使用ORM时才有可能吗?

orm sqlalchemy

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

检查员中CSS属性的实际值如"auto","inherit"等?

有没有办法找出当CSS值设置为"auto"或类似时浏览器使用的实际值?我正在查看检查器中元素的计算CSS值,但它仍然显示"auto",我想确定确切的值.

更新:看起来大多数属性会自动计算,但有些则不会.以下是在查看计算面板时显示为"auto" 的属性示例:

  • 最佳
  • 底部
  • 剩下

不知道为什么.

如果有人想知道,我甚至试图解决这个问题的原因是因为我目前正在使用旧版本的Bootstrap(v2.1.1)维护一个网站,它将.modal.fade.in的顶部设置为"auto"在浏览器中,宽度<768px.至少对我的浏览器来说,这会导致模态从视图中消失.所以我很自然地想知道模态的位置,并希望我能看到Chrome设定的实际值.

看起来(v2.2.x)中的一个变化正在改变顶部:自动到顶部:20px可能会解决问题.

css web-inspector

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

Django:鸭子打字友好的方式接受记录或slug记录的输入

我有这样的功能:

def foo(bar):
    ...
Run Code Online (Sandbox Code Playgroud)

现在bar既可以是Django记录,也可以是指向记录的slug.我需要这种灵活性,这样我就可以在手边有实际记录时调用此函数,或者从一个更通用的函数调用它,该函数只有一个字符串可用作为字符串(从数据库中提取).

我意识到我可以这样做:

def foo(bar):
    try:
        bar.pk
    except AttributeError:
        bar = Bar.objects.get(slug=bar)
    ...
Run Code Online (Sandbox Code Playgroud)

但是,这似乎并没有优雅可言.

如果我可以,我想避免使用isinstance.

django duck-typing

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

训练solr以识别昵称或名称变体

我很确定solr可以设置为在搜索期间识别同义词.我想知道是否可以用昵称做同样的事情 - 所以例如搜索"Robert"会将"Bob"记录在其中.

solr names synonym

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

知道何时在ColdFusion中插入逗号

每隔一段时间,无论是在显示代码中还是在组装字符串中,我都会制作一个列表并需要弄清楚如何在该列表中插入逗号.

这就是我通常这样做的方式:

<cfset hide_comma=true>
<cfloop ... some kind of loop ...>
    <cfif hide_comma><cfset hide_comma=false><cfelse>,</cfif>
    .... rest of code here ...
</cfloop>
Run Code Online (Sandbox Code Playgroud)

我想知道是否有更清洁的方法.我意识到一个选项将类似于以下内容:

<cfset output_as_array = []>
<cfloop ... some kind of loop ...>
    <cfset loop_output = "">
    ... rest of code here, but append all output to loop output instead ...
    <cfset ArrayAppend(output_as_array, trim(loop_output))>
</cfloop>
<cfoutput>#ArrayToList(output_as_array, ", ")#</cfoutput>
Run Code Online (Sandbox Code Playgroud)

但这似乎并不是更清楚.

相比之下,在Django中,每个循环都有一个内置计数器,所以我可以编写如下内容:

{% for ... some kind of loop ... %}
    {% if not forloop.first %},{% endif %}
    ... rest of code …
Run Code Online (Sandbox Code Playgroud)

coldfusion loops for-loop

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

git checkout -b 分支名称 与 git checkout 分支名称 的效果

我不小心进入了

git checkout -b develop
Run Code Online (Sandbox Code Playgroud)

代替

git checkout develop
Run Code Online (Sandbox Code Playgroud)

尽管开发分支已经存在,但它说它已经创建了。

这是否影响了分支中的代码develop?我找不到任何关于此的明确文档。

git

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