为什么构造函数确实被称为"构造函数"?他们的目的是什么?他们与班级中的方法有什么不同?
另外,__init__
课堂上可以有更多的吗?我尝试了类似下面的内容,有人可以解释一下结果吗?
>>> class test:
def __init__(self):
print "init 1"
def __init__(self):
print "init 2"
>>> s=test()
init 2
Run Code Online (Sandbox Code Playgroud)
最后,是__init__
一个运算符overloader?
当它到达页面顶部时,我想在滚动时将静态导航栏设置为固定导航栏.
有没有办法使用bootstrap 3 css或javascript获取它?
我们知道在类中,使用以下函数时__function__
不会导入:
from module import *
Run Code Online (Sandbox Code Playgroud)
有人问什么是_variable
?我从来没有一个.
它们存在吗?这是一个变量的概念,无法使用类对象或其他东西访问?
这是我试过的.在我的view.py文件中,
import logging
logger = logging.getLogger("mylog")
logging.basicConfig(format='%(name)s:%(levelname)s:%(message)s',level=logging.INFO,datefmt='%d/%m/%y %I:%M:%S')
Run Code Online (Sandbox Code Playgroud)
然后在一个函数里面,
logger.debug("this is an error")
logger.warning("This is a warning")
print "This is a test line '
Run Code Online (Sandbox Code Playgroud)
我没有触及settings.py文件.几乎一样.
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler'
}
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
}
Run Code Online (Sandbox Code Playgroud)
当我运行服务器,并调用该函数时,没有任何反应.没有错误,没有.
我只想在控制台上看到一个日志行.
我试图通过我的settings.py文件将变量添加到我的日志行.
这是设置中的代码(日志记录部分):
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'mail_admins': {
'level': 'CRITICAL',
'class': 'django.utils.log.AdminEmailHandler'
},
'customhandler':{
'level':'DEBUG',
'class':'logging.RotatingFileHandler',
'formatter':'custom_format',
'filename':LOG_LOCATION
},
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'CRITICAL',
'propagate': True,
},
'Logger_Custom1': {
'handlers':['customhandler'],
'level':'DEBUG',
'propagate':True
},
},
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
},
'simple': {
'format': '%(levelname)s %(message)s'
},
'custom_format':{
'format':'[%(asctime)s %(levelname)s T:%(threadName)s F:%(funcName)s ] %(message)s '
},
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码工作正常,但现在我希望每条日志消息最后都有一个变量.就像是:
MyVariable = "Somelines"
[%(asctime)s %(levelname)s T:%(threadName)s F:%(funcName)s …
Run Code Online (Sandbox Code Playgroud) 我正在尝试为确切的类名创建一个css选择器查询.
考虑一下这个HTML
<div class="My class1">Some long text</div>
<div class="My class1 234">Some long text2</div>
<div class="My class1">Some long text3</div>
<div class="My class1 haha">Some long text2</div>
Run Code Online (Sandbox Code Playgroud)
现在我只想抓住班级'我的班级1'...而忽略'我的班级1,234'或'我的班级1哈哈'..
查询$$('div.My class1')给出了上述所有4个.注意:我正在尝试使用firebug控制台..
如何在这里指定确切的类名,以便只获取特定的类?
谢谢
在 Ansible playbook 中,我们可以请求相当于调用
docker image prune
Run Code Online (Sandbox Code Playgroud)
这样:
docker image prune
Run Code Online (Sandbox Code Playgroud)
但是,似乎没有一种方法可以请求--all
,即修剪容器中未使用的所有图像。无论如何,默认情况下它不会这样做:
TASK [role : Clean up Docker images] ***
ok: [server] => {
"changed": false,
"images": [],
"images_space_reclaimed": 0
}
Run Code Online (Sandbox Code Playgroud)
显然,images_filters
有一些选项与 CLI Docker 选项不直接对应:
用于选择要删除的图像的过滤器值字典。例如,
dangling: true
。有关可能的过滤器的更多信息,请参阅docker 文档。
不幸的是,这个选项根本没有记录在案。删除悬空图像是默认设置,那么true
甚至会产生什么效果呢?
我如何告诉 Ansible 执行相当于 的操作docker image prune --all
?
我需要将列表的内容与给定的模式匹配,并形成另一个列表,除了匹配之外,它将包含所有内容.意思是,我正在尝试制作排除列表.
现在有一个模式匹配,很容易.但是对于更多那个,它变得棘手.
让我们看一个例子:
Lmain=[arc123, arc234,xyz111,xyz222,ppp999,ppp888]
for count in range(len[Lmain]):
if Pattern matches Lmain[i]:
Pass
else:result.append(Lmain[i])
Run Code Online (Sandbox Code Playgroud)
现在让我们说pattern = arc,我的结果就是
result = [xyz111,xyz222,ppp999,ppp888]
Run Code Online (Sandbox Code Playgroud)
这只是一个逻辑,我将使用常规expr来查找匹配.
现在,如果我们有2个模式,那么在循环中使用上面的逻辑:
Pattern=['arc','xyz']
for pat in Pattern:
if pat matches Lmain[i]:
Pass
else:result.append(Lmain[i])
Run Code Online (Sandbox Code Playgroud)
这会给我们错误的结果
result = [xyz111,xyz222,ppp999,ppp888,arc123,arc234,ppp999,ppp888]
Run Code Online (Sandbox Code Playgroud)
所以,你可以看到上面的逻辑不会起作用.
我的计划:
首先,我们找到第一个Pattern的排除列表,它将给出结果:
result = [xyz111,xyz222,ppp999,ppp888]
Run Code Online (Sandbox Code Playgroud)
对于第二种模式,我们需要查看上述结果.
if Pattern matches Result[i]:
Pass
else:result_final.append(Result[i])
Run Code Online (Sandbox Code Playgroud)
我认为我们需要使用Recursion来实现上面的逻辑.现在我们该怎么做?此外,我们不知道用户将要进入的模式数量.它可以是一个或多个.
任何人都有任何逻辑思想,请分享.
我实际上有一些问题(真正幼稚).
1)如果我知道一个网站已经使用Django开发的,我们可以从HTML源代码确定(通过右击并选择"查看页面源代码"),如果该网站已经使用Django开发?
2)如果我有一个用HTML编写的网站的HTML代码,我只是想用django来呈现它,那么如何使用django呈现这个HTML代码?
3)对于什么样的网站,django应该使用还是用于?我的意思是纯静态页面,博客或简单的谷歌.
提前致谢
我尝试在 django 项目中迭代 elasticsearch。但是当我执行命令时python manage.py search_index --rebuild
出现了这个错误
elasticsearch.exceptions.ConnectionError: ConnectionError(<urllib3.connection.HTTPConnection object at 0x7fde186b2b50>: Failed to establish a new connection: [Errno 111] Connection refused) caused by: NewConnectionError(<urllib3.connection.HTTPConnection object at 0x7fde186b2b50>: Failed to establish a new connection: [Errno 111] Connection refused)
运行docker-compose后,我可以通过chrome访问elasticsearch http://localhost:9200。
这是setting.py
文件:
INSTALLED_APPS = [
'polls.apps.PollsConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django_elasticsearch_dsl',
]
ELASTICSEARCH_DSL={
'default': {
'hosts': 'localhost:9200'
},
}
Run Code Online (Sandbox Code Playgroud)
和 document.py 文件:
from django_elasticsearch_dsl import Document
from django_elasticsearch_dsl.registries import registry
from .models import Question
@registry.register_document …
Run Code Online (Sandbox Code Playgroud) 目标:仅当测试失败时,我才需要调用一堆步骤(因此是一个函数)。
我尝试过的:
1)尝试传递不带参数的函数。
观察:如果测试通过,则不会调用函数。但如果测试失败,我会收到错误消息。(AssertionError: <bound method TestAuto.func1 of <test_fail.TestAuto testMethod=test_fail>>)
class TestAuto(unittest.TestCase):
def test_fail(self):
self.assertEqual(1, 1, self.func1)
def func1(self):
print 'We are inside'
if __name__ == '__main__':
unittest.main()
Run Code Online (Sandbox Code Playgroud)
:
test_fail (test_fail.TestAuto) ... ok
----------------------------------------
Ran 1 test in 0.001s
OK
Run Code Online (Sandbox Code Playgroud)
2)尝试使用参数调用函数。
class TestAuto(unittest.TestCase):
def test_fail(self):
self.assertEqual(1, 1, self.func1('message'))
def func1(self, msg):
print msg
Run Code Online (Sandbox Code Playgroud)
观察:无论测试通过或失败,函数都会被调用。
结果:
test_fail (test_fail.TestAuto) ... 消息正常
在 0.001 秒内运行 1 次测试
好的
我做了一个过滤功能来过滤掉文件名列表中的文件类型.
>>> l1
['180px-Cricketball.png', 'AgentVinod_450.jpg', 'Cricketball.bmp', 'Django-1.4', 'Django-1.4.tar.gz', 'Firefox Setup 11.0.exe', 'I-Will-Do-The-Talking-Tonight-(Muskurahat.Com).mp3', 'kahaani-.jpg', 'Never gonna leave this bed.mp3', 'Piya-Tu-Kaahe-Rootha-Re-(Muskurahat.Com).mp3', 'pygame-1.9.1release', 'pygame-1.9.1release.zip', 'pygame-1.9.2a0.win32-py2.7.msi', 'python-2.7.2.msi', 'python-3.1.2.msi', 'Resume.doc', 'selenium-2.20.0', 'selenium-2.20.0.tar.gz', 'sqlite-shell-win32-x86-3071100.zip', 'wxdesign_220a.exe', 'YTDSetup.exe']
>>> def myfilt(subject):
if re.search('.jpg',subject):
return True
>>> filter(myfilt,l1)
['AgentVinod_450.jpg', 'kahaani-.jpg']
Run Code Online (Sandbox Code Playgroud)
这很好用.
现在假设我想让它更灵活.我想将文件类型传递给函数.所以我重写了这个功能
>>> def myfilt(subject,filetype):
if re.search(filetype,subject):
return True
Run Code Online (Sandbox Code Playgroud)
现在我如何通过过滤功能传递文件类型?
我试过了:
>>> filter(myfilt(l1,filetype),l1)
Traceback (most recent call last):
File "<pyshell#32>", line 1, in <module>
filter(myfilt(l1,filetype),l1)
File "<pyshell#28>", line 2, in myfilt
if re.search(filetype,subject):
File "C:\Python27\lib\re.py", line 142, in search …
Run Code Online (Sandbox Code Playgroud)