我有一个可编辑的多边形,我想听一个顶点被拖动时的事件(调整多边形的大小)。通常将路径附加到'set_at'事件是好的,但是当整个多边形被拖动时会触发很多事件。
google.maps.event.addListener(polygon, 'dragend', function(){search();});
google.maps.event.addListener(polygon.getPath(), 'insert_at', function(e, e1){search();});
google.maps.event.addListener(polygon.getPath(), 'remove_at', function(e, e1){search();});
//this also fires a lot of events when ploygon is dragged
google.maps.event.addListener(polygon.getPath(), 'set_at', function(){search();});
Run Code Online (Sandbox Code Playgroud)
我要实现的是有一个类似“ shape_changed”的事件,它在拖动时不会触发事件。
我正在创建一个自定义提供程序以从另一个内部项目中获取oauth2令牌,该过程几乎可以完成,但是403 forbidden当浏览器使用此URL返回到我的项目时,我收到了错误消息:
http://localhost:8001/account/connect/login/callback/?state=Nngd5Gu3JnB4&code=Rqqg91oEwQKDsvSyzZ8Az5fEeHGaEe#_=_
Run Code Online (Sandbox Code Playgroud)
这是我的自定义提供程序中的views.py:
import requests
from allauth.socialaccount.providers.oauth2.views import (OAuth2Adapter, OAuth2LoginView, OAuth2CallbackView)
from .provider import ConnectProvider
class ConnectOAuth2Adapter(OAuth2Adapter):
provider_id = ConnectProvider.id
access_token_url = 'http://localhost:8000/o/token/'
authorize_url = 'http://localhost:8000/o/authorize/'
profile_url = 'http://localhost:8000/api/account/'
def complete_login(self, request, app, token, **kwargs):
_token = {'access_token':token.token}
resp = requests.get(self.profile_url, params={'access_token': token.token, 'alt': 'json'})
extra_data = resp.json()
login = self.get_provider().sociallogin_from_response(request, extra_data)
return login
oauth2_login = OAuth2LoginView.adapter_view(GoConnectOAuth2Adapter)
oauth2_callback = OAuth2CallbackView.adapter_view(GoConnectOAuth2Adapter)
Run Code Online (Sandbox Code Playgroud) 我正在编写一个自定义的django模型字段,它具有序列化和反序列化操作,在反序列化时,我使用import_by_path来获取类并初始化一个实例.
相反,我需要将一个实例序列化到数据库,在我的情况下,我需要获得模块的点符号.
我要问的是,我怎么做,例如我有日期时间模块
from datetime import datetime
Run Code Online (Sandbox Code Playgroud)
如何以datetime点表示法输出到字符串"datetime.datetime"?
假设我想获得一个与值匹配的记录,我有两种方法可以做到:
第一:
try:
obj = Model.objects.get(field = value)
except
pass
Run Code Online (Sandbox Code Playgroud)
第二:
if Model.objects.filter(field = value).count() > 0:
obj = Model.objects.filter(field_value)[0]
Run Code Online (Sandbox Code Playgroud)
让我们把代码注释放在一边,我应该使用哪种方式或者您更喜欢阅读哪种方式?第一个看起来更快,因为只有1个DB查找,但第二个方式似乎更具可读性,但需要2个DB查找.
基于此链接
"作为帐户所有者进行身份验证许多应用程序只是希望代表帐户所有者执行操作.您可以使用标准OAuth流程执行此操作,但您不需要请求访问令牌.请访问您的帐户详细信息页面,并获取访问令牌.这是一个特殊的访问令牌,它不会过期,并将作为应用程序所有者进行身份验证."
对于我的生活,我似乎无法找到持有access_token的帐户页面,在看到之前我还需要做些什么吗?
我正在写一个单元测试断言返回值不是空的,所以我写了类似的东西assert(value, True),我得到了一个错误AssertionError: '72a7090610eb11e398d40050569e0016' != True
Python 2.7.3 (default, Aug 1 2012, 05:14:39)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 'abc' == True
False
Run Code Online (Sandbox Code Playgroud)
我一直认为非空字符串或> 1整数将评估为True,也许我对PHP感到困惑.
我一直认为if 'abc'相当于if 'abc' == True显然我错了:(
我试图通过代码触发发送操作,从文档看起来像这样:
$('#fileupload').fileupload('send', {files: filesList});
Run Code Online (Sandbox Code Playgroud)
但我很难找到如何填充filesList,任何想法?
这是我的html输入的摘录:
<input type="text" name="name"/>
<input type="file" name="image" id="image" />
Run Code Online (Sandbox Code Playgroud)
这是我的代码尝试发送
form.fileupload('send', {
url: api_urls['wishlistitem']+'?format=json',
files: $('input[name="image"]',form).files,
});
Run Code Online (Sandbox Code Playgroud) 我在模块a中有以下代码:
class MyManager(models.Manager):
def dowork(self, value1, value2):
print value1, value2
Run Code Online (Sandbox Code Playgroud)
在模块b中:
class MyModel(models.Model):
objects = MyManager()
value1 = ...
value2 = ...
def call_manager(self):
self.objects.dowork(self.value1, self.value2)
Run Code Online (Sandbox Code Playgroud)
在单元测试中,我dowork用不同的主体修补,例如:
def new_dowork(self, value1, value2):
print 123
with patch('a.MyManager.dowork', new_callable=new_dowork):
record = MyModel(value=111)
record.call_manager()
...
Run Code Online (Sandbox Code Playgroud)
但我越来越TypeError: new_dowork() takes exactly 3 arguments (0 given)
假设我有以下组件使用反应钩子
const Component = (props) => {
[state1, setState1] = useState();
[state2, setState2] = useState();
useEffect(()=>{
// use state1 and state2 as param to fetch data
...
}, [state1, state2])
onSomethingChange = () => {
setState1(...);
setState2(...);
}
return (..);
}
Run Code Online (Sandbox Code Playgroud)
当onSomethingChange触发时,我认为它会调用副作用函数两次,因为我在同一个依赖项数组中更新了 2 个不同的状态变量。我打算将这 2 个变量重构为 1 个对象,但我想我会首先将它们作为 2 个单独的变量进行测试。
我观察到的是,即使我在同一个依赖项数组中更新了 2 个不同的状态变量,副作用函数也只会执行一次,这就是我想要的,但我不知道为什么。有人可以解释一下它在引擎盖下是如何工作的吗?
我目前使用python-社会身份验证,并增加了后端MyOAuth其中BaseOAuth1,内部BaseOAuth1类有一个方便的oauth_request,我想利用外部类的实例方法。
https://github.com/omab/python-social-auth/blob/master/social/backends/oauth.py
我尝试直接实例化该类,但看起来我缺少一些上下文。
有没有办法引用该MyOAuth后端实例?我期待类似的东西
request.user.social_auth.get(provider='MyOAuth').backend.oauth_request(...)
python ×5
django ×3
javascript ×2
access-token ×1
disqus ×1
drag ×1
evaluation ×1
events ×1
file ×1
google-maps ×1
jquery ×1
mocking ×1
polygon ×1
react-hooks ×1
reactjs ×1
upload ×1