我创建了一个子类ListView和两个已实现get_context_data函数的自定义mixin的类.我想在子类上覆盖此函数:
from django.views.generic import ListView
class ListSortedMixin(object):
def get_context_data(self, **kwargs):
print 'ListSortedMixin'
return kwargs
class ListPaginatedMixin(object):
def get_context_data(self, **kwargs):
print 'ListPaginatedMixin'
return kwargs
class MyListView(ListSortedMixin, ListPaginatedMixin, ListView):
def get_context_data(self, **context):
super(ListSortedMixin,self).get_context_data(**context)
super(ListPaginatedMixin,self).get_context_data(**context)
return context
Run Code Online (Sandbox Code Playgroud)
当我执行MyListView它时只打印"ListSortedMixin".出于某种原因,python正在执行ListSortedMixin.get_context_data而不是代替MyListView.get_context_data.为什么?
如果我将继承顺序更改为ListPaginatedMixin, ListSortedMixin, ListView,ListPaginatedMixin.get_context_data则执行.
我该如何覆盖该get_context_data功能?
python django listview multiple-inheritance django-generic-views
我需要最小化一个只允许整数输入的函数。我可以用 解决scipy.optimize.fmin吗?否则,还有其他选择吗?
是否可以TimeOut为 Apache 虚拟主机中的不同位置设置指令?
<Location "/fast">
TimeOut 5
</Location>
<Location "/slow">
TimeOut 180
</Location>
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个sed脚本,用另一个文件的内容替换两个标记之间包含的文本。
假设我有以下带有标记<!-- Start -->和的文件<!-- End -->:
# index.html
...
<!-- Start -->
<p>Old content</p>
<!-- End -->
...
Run Code Online (Sandbox Code Playgroud)
我想用该文件的内容替换随附的文本:
# snippet.html
<p>New content</p>
Run Code Online (Sandbox Code Playgroud)
我尝试过这个sed脚本:
$ cat snippet.html | sed -i -e '/<\!-- Start -->/,/<\!-- End -->/ { r /dev/stdin' -e';d};' index.html
Run Code Online (Sandbox Code Playgroud)
它替换了内容和标记,但我需要保留<!-- Start -->和<!-- End -->标记,以便将来可以再次替换内容。
我应该对脚本进行哪些更改sed?
提前致谢!