我希望这不是一个愚蠢的问题,但我发现他们导入的classmethod
代码和一些他们没有的代码,所以有区别?
我正在使用python 3.6,但我认为最初的代码是用于python 2.7(它使用的from __builtin__ import
)
import unittest
from selenium import webdriver
from builtins import classmethod #original code was from __builtin__ import classmethod
class HomePageTest(unittest.TestCase):
@classmethod
def setUp(cls):
# create a new Firefox session
cls.driver = webdriver.Firefox()
cls.driver.implicitly_wait(30)
cls.driver.maximize_window()
# navigate to the application home page
cls.driver.get("http://demo-store.seleniumacademy.com/")
def test_search_field(self):
pass
#My tests without @classmethod
@classmethod
def tearDown(cls):
# close the browser window
cls.driver.quit()
if __name__ == '__main__':
unittest.main(verbosity=2)
Run Code Online (Sandbox Code Playgroud) 我在Windows上使用Python 3.x.
我应该# -*- coding: utf-8 -*-
在我的文件上使用声明吗?我已经阅读了很多主题,我认为答案是肯定的,但我不确定.
顺便说一句,我只用英语和意大利语写作.也许你必须知道别的东西,但我不知道是什么......所以问我
谢谢
我有以下代码:
var image_match = $('#my_id image').filter(function(i, el) {
return el.attributes.x.value == x_image;
});
Run Code Online (Sandbox Code Playgroud)
$('#my_id image')
给出了一个很长的数组(大约数千个),但是幸运的是我知道有多少个元素将通过测试(通常只有一个),因此一旦找到元素,我就可以停止“循环”。问题是我不知道该怎么办(或者是否可能)。
这是为了提高效率,因此我正在寻找有效的解决方案。
也许像这样,但是有效吗?
var target_number=3;//or whatever
var image_match = $('#my_id image').filter(function(i, el) {
var counter=0;
if (el.attributes.x.value == x_image) {
counter+=1;
};
if (counter==target_number) {
return el.attributes.x.value == x_image;
break;//return (false);//exit
}
return el.attributes.x.value == x_image;
});
Run Code Online (Sandbox Code Playgroud) 我正在关注这个教程。
当我运行时test_views.py
,我遇到了一个根据作者的说法不应该出现的错误:TypeError: quote_from_bytes() expected bytes
。
我的views
和我的和test_views
书上的一样,但是我使用的是 django 2.0.6 而不是 django 1.11 所以我的url.py
改变,所以也许这就是问题所在。
编辑:
再一看,问题似乎出在mock()
函数上。
当我在我看来使用patch('lists.views.List')
Give而不是Print(list_)
<MagicMock name='List()' id='79765800'>
List object (1)
/编辑
我的lists/urls.py
:
urlpatterns = [
path('new', views.new_list, name='new_list'),
path('<slug:list_id>/',
views.view_list, name='view_list'),
path('users/<email>/', # I'm not sure about this one but it works in other tests
views.my_lists, name='my_lists'),
]
#instead of:
#urlpatterns = [
# url(r'^new$', views.new_list, name='new_list'),
# url(r'^(\d+)/$', views.view_list, …
Run Code Online (Sandbox Code Playgroud) 我想通过模板将查询集从视图传递给 javascript 函数:
我的view.py
:
def myview(request):
lista=Mymodel.objects.filter(tipo=mytipo)
context_dict['lista']=lista
return render(request, 'mytemplate.html', context_dict)
Run Code Online (Sandbox Code Playgroud)
我的template.html
:
<script>
<!--
window.onpageshow = function() {
myfunction('{{lista}}');
};
-->
</script>
Run Code Online (Sandbox Code Playgroud)
我的javascript.js
:
function myfunction(lista) {
for (i=0; i<lista.length; i++) {
console.log(lista[i].name)
}
}
Run Code Online (Sandbox Code Playgroud)
问题是lista
变成了一个字符串。我尝试使用 JSONEncoder,但我不确定如何使用。我想避免 JsonResponse,因为我想为我的模板使用该视图(如果可能)。
编辑:
答案中提出的解决方案有问题:
TypeError: Python object is not JSON serializable
Run Code Online (Sandbox Code Playgroud)
并且此链接中提出的解决方案也不起作用(找不到_meta
调用的属性model_to_dict
)。
JSON.parse 不起作用
SyntaxError: missing ) after argument list
Run Code Online (Sandbox Code Playgroud)
问题似乎在一条路径和另一条路径之间:
myfunction(JSON.parse('['/mypath/myimage.png', '/otherpath/otherimage.png', 'etc... ']'));
Run Code Online (Sandbox Code Playgroud)
同样在模板中,您必须添加|safe
.
幸运的是我需要一个字符串列表,所以:
我的 …
有时Django在模板中发现错误.我想注释掉要调试的行,但是django仍然会在评论中找到错误.
例如,此链接给我一个错误,因为url 'prova'
不存在.
<!--<a href="{% url 'prova' %}">Prova</a><br/>-->
Run Code Online (Sandbox Code Playgroud)
另一个例子:这里{{ field }}
给出一个错误(我不知道为什么但这是另一个问题)
<!--{% for field in form.visible_fields %}
{{ field.errors }}
{{ field.label }}
{{ field }}
{{ field.help_text }}
<br />
{% endfor %}-->
Run Code Online (Sandbox Code Playgroud)
也许还有另一种评论方式?
谢谢
假设我有一个 javascript 函数:
function myfunction (x) {
if (x===0) {
return false; //return;
};
//some code
};
Run Code Online (Sandbox Code Playgroud)
return
或之间有区别吗return false
?
我这么问是因为有人建议我只使用 return (他没有解释原因)。
我用它来退出函数而不做任何其他事情。在这个简单的例子中,我可以使用if (x!==0) {};
,但在更长的函数中,也许(如果我错了请告诉我)嵌套 if 语句不是一个好主意。
python ×4
django ×3
javascript ×3
class-method ×1
django-2.0 ×1
filter ×1
html ×1
jquery ×1
json ×1
mocking ×1
return ×1
tdd ×1