我有以下内容model,保存时根据以下内容计算hash_id字段pk:
class MyTable(models.Model):
something = models.CharField(max_length=255)
reported = models.IntegerField(default=0, blank=True)
hash_id = models.CharField(max_length=32, db_index=True, unique=True, blank=True)
def save(self, *a, **kw):
super().save(*a, **kw)
self.hash_id = hash_fn(self.pk)
super().save(*a, **kw)
Run Code Online (Sandbox Code Playgroud)
在我的其中一行中,我views有以下几行,它们应该将reported字段增加 1,但是reported由于重写的save方法而增加了 2 :
my_table_ins.reported = F('reported') + 1
my_table_ins.save()
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想要以下内容:
def save(self, *a, **kw):
super().save(*a, exclude=['reported'], **kw)
self.hash_id = hash_fn(self.pk)
super().save(*a, **kw)
Run Code Online (Sandbox Code Playgroud) 我的urlpatterns怎么了?
urlpatterns = [
re_path(r'^dj-admin/', admin.site.urls),
re_path(r'^admin/', include(wagtailadmin_urls)),
re_path(r'^docs/', include(wagtaildocs_urls)),
i18n_patterns(
path(r'', include(wagtail_urls)),
prefix_default_language = False
)
]
Run Code Online (Sandbox Code Playgroud)
错误:
?: (urls.E004) 您的 URL 模式 [ (None:None) ''>] 无效。确保 urlpatterns 是 path() 和/或 re_path() 实例的列表。
据我所知,它相当于文档中的示例:
urlpatterns = [
path('sitemap.xml', sitemap, name='sitemap-xml'),
]
urlpatterns += i18n_patterns(
path('about/', about_views.main, name='about'),
)
Run Code Online (Sandbox Code Playgroud)
顺便提一句:
In [1]: import django
In [2]: django.__version__
Out[2]: '2.0.5'
Run Code Online (Sandbox Code Playgroud) 我有2个大型数据集(每个70K到110K大).我想关联/比较两者,并根据某些条件/标准找到set1中的哪些项目可以在set1中找到.
我当前的策略是按公共字段对两个列表进行排序,然后运行嵌套for循环,执行条件if测试,使用找到的项目和不匹配的项目聚合预定义的dict.
例:
import pandas as pd
list1 = [{'a': 56, 'b': '38', 'c': '11', 'd': '10', 'e': 65},
{'a': 31, 'b': '12', 'c': '26', 'd': '99', 'e': 71},
{'a': 70, 'b': '49', 'c': '40', 'd': '227', 'e': 1},
{'a': 3, 'b': '85', 'c': '32', 'd': '46', 'e': 70},]
list2 = [{'a': 56, 'b': '38', 'c': '11', 'd': '10', 'e': 65},
{'a': 145, 'b': '108', 'c': '123', 'd': '84', 'e': 3},
{'a': 113, 'b': '144', 'c': …Run Code Online (Sandbox Code Playgroud) 我有一些ansible有时在本地环境中有意义的剧本,否则它们是远程执行的.为了做到这一点,我使用delegate_to指令,但这也意味着我必须加倍我的所有任务,例如:
---
- hosts: all
gather_facts: no
tasks:
- name: Local command
command: hostname
register: target_host
when: vhost is undefined
delegate_to: 127.0.0.1
# ---
- name: Remote command
command: hostname
register: target_host
when: vhost is defined
Run Code Online (Sandbox Code Playgroud)
Exec local:
$ ansible-playbook -i inv.d/test.ini play.d/delegate.yml
PLAY [all] ********************************************************************
TASK: [Local command] *********************************************************
changed: [new-server -> 127.0.0.1]
TASK: [Remote command] ********************************************************
skipping: [new-server]
PLAY RECAP ********************************************************************
new-server : ok=1 changed=1 unreachable=0 failed=0
Run Code Online (Sandbox Code Playgroud)
远程执行:
$ ansible-playbook -i inv.d/test.ini …Run Code Online (Sandbox Code Playgroud) 我试图了解vue组件是如何工作的。textarea最终目标是当我单击 Go! 时向只读添加一行。按钮。目前我被以下代码困住了:
// Register components
Vue.component('chatarea', {
delimiters: ['${', '}'],
props: ['msg'],
template: '<textarea readonly="" rows="20">${msg}</textarea>',
})
// Create a root instance
var app = new Vue({
el: '#app',
delimiters: ['${', '}'],
data: {
messages: [
'Hello from Vue!',
'Other line...'
],
},
methods: {
get_msg: function () {
return this.messages.reverse().join('\n');
}
}
})
Run Code Online (Sandbox Code Playgroud)
以下内容html按照我想要的方式呈现 - 消息以相反的顺序显示:
<div class="container" id="app">
<div class="row">
<div class="col-md-8 offset-md-2">
<form action="/question" enctype="multipart/form-data" method="get" v-on:submit.prevent="onSubmit">
<div class="input-group">
<input …Run Code Online (Sandbox Code Playgroud) 我的班级在连接到服务器时应立即发送登录字符串,然后在会话结束后应发送退出字符串并清理套接字。下面是我的代码。
import trio
class test:
_buffer = 8192
_max_retry = 4
def __init__(self, host='127.0.0.1', port=12345, usr='user', pwd='secret'):
self.host = str(host)
self.port = int(port)
self.usr = str(usr)
self.pwd = str(pwd)
self._nl = b'\r\n'
self._attempt = 0
self._queue = trio.Queue(30)
self._connected = trio.Event()
self._end_session = trio.Event()
@property
def connected(self):
return self._connected.is_set()
async def _sender(self, client_stream, nursery):
print('## sender: started!')
q = self._queue
while True:
cmd = await q.get()
print('## sending to the server:\n{!r}\n'.format(cmd))
if self._end_session.is_set():
nursery.cancel_scope.shield = True …Run Code Online (Sandbox Code Playgroud) 我Kubernetes在自定义构建的CoreOS集群上使用v1.8.14 :
$ kubectl version --short
Client Version: v1.10.5
Server Version: v1.8.14+coreos.0
Run Code Online (Sandbox Code Playgroud)
尝试创建以下内容时ClusterRole:
$ cat ClusterRole.yml
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
kubernetes.io/bootstrapping: rbac-defaults
name: system:coredns
rules:
- apiGroups:
- ""
resources:
- endpoints
- services
- pods
- namespaces
verbs:
- list
- watch
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
$ kubectl create -f ClusterRole.yml
Error from server (Forbidden): error when creating "ClusterRole.yml": clusterroles.rbac.authorization.k8s.io "system:coredns" is forbidden: attempt to grant extra privileges: [PolicyRule{Resources:["endpoints"], APIGroups:[""], Verbs:["list"]} PolicyRule{Resources:["endpoints"], APIGroups:[""], …Run Code Online (Sandbox Code Playgroud) 有没有办法使用 terraform 创建默认 AWS VPC?
aws_vpc资源没有任何属性将 VPC 标记为默认。
我知道我可以使用 aws-cli aws ec2 create-default-vpc,但那超出了 terraform 的范围。
仅通过进行Select2 hello-world练习,我无法加载ajax数据,而是出现错误:
未捕获的TypeError:c.ajax不是 d(select2.min.js:1)的
Object.transport(select2.min.js:1)的函数
我的代码:
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.3/js/bootstrap.min.js" integrity="sha384-a5N7Y/aK3qNeh15eJKGWxsqtnX/wWdSZSKp+81YjTmS15nvnvxKHuzaWwXHDli+4" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/js/select2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#my-input').select2({
placeholder: "Search for something",
minimumInputLength: 1,
ajax: {
url: "https://www.example.com/search",
dataType: 'json',
delay: 250,
data: function(params) {
return {
"term": params.term, // search term
"from": 0,
"size": 20
};
},
processResults: function (data, params) {
params.page = params.page || 1;
data.hits = $.map(data.hits, function(obj) {
obj.text = obj.text || obj.name;
return …Run Code Online (Sandbox Code Playgroud) 我想custom根据 中的其他块值计算一些变量StructBlock并将此custom变量添加到模板上下文中。基本上我应该能够StructBlock像这样在模板中使用这个计算变量{{ value.custom }}。
这是我的StructBlock:
class BaseBlock(blocks.StructBlock):
bool_fld = blocks.BooleanBlock(required=False, default=False)
def get_context(self, *a, **kw):
ctx = super().get_context(*a, **kw)
ctx['custom'] = 1 if self.bool_fld else 0
return ctx
Run Code Online (Sandbox Code Playgroud)
和错误:
“BaseBlock”对象没有属性“bool_fld”
有任何想法吗?
python-3.x ×4
python ×3
django ×2
javascript ×2
ajax ×1
ansible ×1
coreos ×1
dataframe ×1
jquery ×1
kubectl ×1
kubernetes ×1
pandas ×1
python-3.5 ×1
python-3.6 ×1
python-trio ×1
rbac ×1
scikit-learn ×1
scipy ×1
terraform ×1
vuejs2 ×1
wagtail ×1