在某些情况下,日期写为'创建的ca. 1858年至60年代,人类读者将其理解为"创造于1858年至1860年".
因此,想象两个代表年份的整数.
a = 1858
b = 60
Run Code Online (Sandbox Code Playgroud)
我希望能得到a+b == 1859.
我可以将它们解析为字符串,取前两个字符('18'),连接较短的字符串并将它们解析回数字,当然,但是......这似乎有点圆了.
什么是Pythonic处理这个问题的方法?
使用 JS,我发送一个 AJAX 发布请求。
$.ajax(
{method:"POST",
url:"https://my/website/send_data.py",
data:JSON.stringify(data),
contentType: 'application/json;charset=UTF-8'
Run Code Online (Sandbox Code Playgroud)
在我的 Apache2 mod_Python 服务器上,我希望我的 python 文件能够访问data. 我怎样才能做到这一点?
def index(req):
# data = ??
Run Code Online (Sandbox Code Playgroud)
PS:这里是如何重现问题。创建testjson.html:
<script type="text/javascript">
xhr = new XMLHttpRequest();
xhr.open("POST", "testjson.py");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onreadystatechange = function(res) { console.log(xhr.responseText); };
xhr.send(JSON.stringify({'foo': '0', 'bar': '1'}));
</script>
Run Code Online (Sandbox Code Playgroud)
并创建testjson.py包含:
from mod_python import apache
def index(req):
req.content_type = "application/json"
req.write("hello")
data = req.read()
return apache.OK
Run Code Online (Sandbox Code Playgroud)
创建一个.htaccess包含:
AddHandler mod_python .py
PythonHandler mod_python.publisher
Run Code Online (Sandbox Code Playgroud)
结果如下:
testjson.html:10 POST http://localhost/test_py/testjson.py 501(未实现)
有一些与此问题相关的问题,但实际上没有一个问题能帮助我了解正在发生的事情。
完整的错误:
SIGPIPE: writing to a closed pipe/socket/fd (probably the client disconnected) on request
Run Code Online (Sandbox Code Playgroud) 我有一个网站运行,似乎工作正常.然而,现在我第一次在日志中看到了这个错误.
Forbidden (Referer checking failed - no Referer.): /pointlocations/
[pid: 4143|app: 0|req: 148/295] 104.176.70.209 () {48 vars in 1043 bytes} [Wed Jul 26 19:49:35 2017] POST /pointlocations/?participant=A2TYLR23CHRULH&assignmentId=3P4MQ7TPPYF65ANAUBF8A3B38A0BB6 => generated 2737 bytes in 2 msecs (HTTP/1.1 403) 1 headers in 51 bytes (1 switches on core 0)
Run Code Online (Sandbox Code Playgroud)
发布时会发生这种情况/pointlocations/,但仅限于一个特定的人(每个participant帐户都是唯一的,所以我知道它只有一个人,反复出现这个问题.超过500个其他participant人没有这样的问题/错误.
这个错误意味着什么,可能导致它的原因,我能解决这个问题吗?
我希望为该www-data用户安装 Numpy,但我无法使用login. 我怎样才能www-data使用 Numpy 模块?
澄清。Numpy 可用于 root 和我的默认用户。
在我的views.py文件中,我有字典:
data = {'pk': '1980.24', 'model': 'artworks.metaData', 'fields': {'medium': 'Oil on canvas ', 'description': 'missing', 'credit': 'Gift of Nicholas Wyeth, 1980 ', 'collection': 2, 'height': '21.7', 'culture': 'Missing value', 'depictedPeople': 'missing', 'creation_date': '1896 ', 'account': 'n/a', 'original_url': 'http://www.metmuseum.org/art/collection/search/10738?sortBy=Relevance&what=Canvas%7cOil+paintings&ao=on&ft=*&offset=0&rpp=100&pos=1', 'url': 'annotatie01.io.tudelft.nl/collections/Metropolitan/1980.24.jpg', 'title': 'Gooseberries ', 'object_number': '1980.24', 'width': '35.7', 'artist': 'Joseph Decker '}}
Run Code Online (Sandbox Code Playgroud)
我希望能够在我的网页上使用/访问此词典.
我的尝试:
我尝试使用views.py中的渲染发送数据,
def foo():
context = {'data':data}
return render(request, 'index.html', context=context)
Run Code Online (Sandbox Code Playgroud)
使用以下方式访问它:
<script type="text/javascript">
var received_data = "{{data}}";
</script>
Run Code Online (Sandbox Code Playgroud)
使用它,传输数据,但它是乱码:
"{'pk': '1980.24', 'model': 'artworks.metaData', 'fields': {'medium': 'Oil on …Run Code Online (Sandbox Code Playgroud) 我有以下查询集:
photos = Photo.objects.all()
Run Code Online (Sandbox Code Playgroud)
我筛选出两个查询:
a = photos.filter(gallery__name='NGL')
b = photos.filter(gallery__name='NGA')
Run Code Online (Sandbox Code Playgroud)
我将它们加在一起,它们形成一个新的更大的查询集:
c = a | b
Run Code Online (Sandbox Code Playgroud)
实际上,a + b等于的长度c:
a.count() + b.count() == c.count()
>>> True
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切都很好。但是,如果我引入了.annotate(),该|似乎不再起作用:
a = photos.annotate(c=Count('label').exclude(c__lte=4)
b = photos.filter(painting=True)
c = a | b
a.count() + b.count() == c.count()
>>> False
Run Code Online (Sandbox Code Playgroud)
即使.annotate()正在使用查询集,我该如何结合呢?请注意,查询一和查询二都按预期的方式独立工作,仅当使用组合查询时|,它似乎才出错。
我刚刚开始尝试使用 Unity 学习 C#。我正在遵循指南和教程。在这些指南中,我看到我的 Visual Studio 代码未向我显示的自动完成功能。
例如,在一个视频中我看到以下自动完成功能:
在我自己的安装中,我看到以下内容:
请注意,自动完成并不暗示Destroy。其他方法/功能GetComponent也不会自动完成。
我相信在 VSC 中打开了正确的文件夹。
根据这个问题, Visual Studio 代码被设置为我统一的默认编辑器。我已经安装了.Net Core Extension Pack,其中包括 VSC 的 C# 扩展包。我缺少什么?
我有一个匀称的多边形。我想将这些多边形切割成n 个多边形,它们都有或多或少相同大小的区域。大小相同是最好的,但近似值也可以。
我尝试使用此处描述的两种方法,这两种方法都是朝着正确方向迈出的一步,而不是我所需要的。两者都不允许目标n
我研究了voronoi,我对它很不熟悉。此分析给出的结果形状是理想的,但它需要点,而不是形状作为输入。
我运行一个nginx与uwsgi应用程序与django所使用的sqlite结构。
运行时uwsgi,当发出GET或POST请求时,它会发送输出,例如:
[pid: 29018|app: 0|req: 39/76] 136.61.69.96 () {52 vars in 1208 bytes} [Wed Jul 19 17:25:12 2017] POST /binaryQuestionApp/?participant=A3AJJHOAV7WIUQ&assignmentId=37QW5D2ZRHPMKY652LHT9QV23ZD8SU => generated 6 bytes in 722 msecs (HTTP/1.1 200) 3 headers in 195 bytes (1 switches on core 0)
最后一点是什么意思?有时它说 2 个开关,有时是 1 个。
我正在使用 Shapely 的多边形来获取人类生成的数据。要求多人围绕图像中的某些特征绘制多边形。因此,对于每个图像,我们有 nMultiPolygon个,其中 n 等于每个图像的参与者数量。
我可以绘制其中的每一个Multipolygon。
fig, ax = plt.subplots()
for ii, multi_poly in enumerate(multi_polys):
for poly in multi_poly.geoms:
x,y = poly.exterior.xy
plt.plot(x,y, c=colors[ii])
Run Code Online (Sandbox Code Playgroud)
我们可以看到,在某些位置, 的Multipolygon重叠,而在其他位置则没有重叠。
我希望获得这些多边形的重叠或相交。这应该是微不足道的,因为我可以做类似的事情:
intersection = multi_a.intersection(multi_b) \
.intersection(multi_c) \
.intersection(multi_d) \
.inters...
Run Code Online (Sandbox Code Playgroud)
我可以在上一张图上绘制这个交集,我们看到:
这看起来不错。Multipoloygon但是,此方法仅返回所有重叠的区域。有没有办法获得 75% 的多边形重叠的交点?或者50%重叠在哪里?
代码示例:以下虚拟数据给出了该图:
P1 = Polygon([(0, 0), (1, 0), (1, 1), (0, 1)])
P2 = Polygon([(2.5, 2), (3, 2), (3, 3), (2.5, 3)])
multi_a = MultiPolygon([P1, P2])
P1 = Polygon([(-1, -1), (-1, 2),(2, …Run Code Online (Sandbox Code Playgroud) 我正在使用NGINX和UWSGI运行Django应用程序。
我的URL模式曾经是这样的:
urlpatterns = [
url(r'^$', views.index),
url(r'^binaryQuestionApp/',include('binaryQuestionApp.urls')),
url(r'^pointlocations/',include('pointlocations.urls')),
url(r'^attributesFromPointsApp/',include('attributesFromPointsApp.urls')),
url(r'^admin/', admin.site.urls),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Run Code Online (Sandbox Code Playgroud)
但是,我希望将其更改为:
urlpatterns = [
url(r'^$', views.index),
url(r'^collections/',views.collections), ## new line ##
url(r'^binaryQuestionApp/',include('binaryQuestionApp.urls')),
url(r'^pointlocations/',include('pointlocations.urls')),
url(r'^attributesFromPointsApp/',include('attributesFromPointsApp.urls')),
url(r'^admin/', admin.site.urls),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Run Code Online (Sandbox Code Playgroud)
然而,将其推送到我的服务器(并且.py文件确实在服务器上更改)之后,我始终获得Django的404页面:
Using the URLconf defined in data_collection_project.urls, Django tried these URL patterns, in this order:
^$
^binaryQuestionApp/
^pointlocations/
^attributesFromPointsApp/
^admin/
^media\/(?P<path>.*)$
The current URL, randomurltoget404page, didn't match any of these.
Run Code Online (Sandbox Code Playgroud)
如果我更改了其他内容,为了进行测试,我可以使更改生效。例如,我可以更改url(r'^$', views.index),最终指向的.html文件,该文件在我的网站上是更新的。
如何让Django更新URL模式?相关问题告诉我重新启动uwsgi或nginx,我尝试使用sudo service uwsgi restart它们都无济于事。