小编Mit*_*len的帖子

平均两年,写作[1858-60]

在某些情况下,日期写为'创建的ca. 1858年至60年代,人类读者将其理解为"创造于1858年至1860年".

因此,想象两个代表年份的整数.

a = 1858
b = 60
Run Code Online (Sandbox Code Playgroud)

我希望能得到a+b == 1859.

我可以将它们解析为字符串,取前两个字符('18'),连接较短的字符串并将它们解析回数字,当然,但是......这似乎有点圆了.

什么是Pythonic处理这个问题的方法?

python

14
推荐指数
2
解决办法
995
查看次数

如何在 Mod_Python 中通过 POST 或 GET 发送数据?

使用 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(未实现)

在此处输入图片说明

python apache post mod-python

8
推荐指数
1
解决办法
737
查看次数

这个 UWSGI 错误是什么意思?“ SIGPIPE:写入封闭的管道/套接字/ fd ”

有一些与此问题相关的问题,但实际上没有一个问题能帮助我了解正在发生的事情。

完整的错误:

 SIGPIPE: writing to a closed pipe/socket/fd (probably the client disconnected) on request 
Run Code Online (Sandbox Code Playgroud)

sigpipe uwsgi

8
推荐指数
1
解决办法
5228
查看次数

错误是什么意思?:"禁止(推荐人检查失败 - 没有推荐人.):"

我有一个网站运行,似乎工作正常.然而,现在我第一次在日志中看到了这个错误.

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人没有这样的问题/错误.

这个错误意味着什么,可能导致它的原因,我能解决这个问题吗?

django nginx

8
推荐指数
1
解决办法
4187
查看次数

我可以使用 pip install 为其他用户安装模块吗?

我希望为该www-data用户安装 Numpy,但我无法使用login. 我怎样才能www-data使用 Numpy 模块?

澄清。Numpy 可用于 root 和我的默认用户。

python pip

6
推荐指数
1
解决办法
9065
查看次数

使用Django渲染将JSON传递给JS

在我的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&amp;what=Canvas%7cOil+paintings&amp;ao=on&amp;ft=*&amp;offset=0&amp;rpp=100&amp;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)

使用它,传输数据,但它是乱码:

"{&#39;pk&#39;: &#39;1980.24&#39;, &#39;model&#39;: &#39;artworks.metaData&#39;, &#39;fields&#39;: {&#39;medium&#39;: &#39;Oil on …
Run Code Online (Sandbox Code Playgroud)

javascript python django json

6
推荐指数
1
解决办法
1715
查看次数

与.annotate()结合使用时,Django queryset union似乎无法正常工作

我有以下查询集:

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()正在使用查询集,我该如何结合呢?请注意,查询一和查询二都按预期的方式独立工作,仅当使用组合查询时|,它似乎才出错。

django django-queryset

6
推荐指数
1
解决办法
1082
查看次数

Visual Studio 代码的自动完成不适用于 C#/Unity

我刚刚开始尝试使用 Unity 学习 C#。我正在遵循指南和教程。在这些指南中,我看到我的 Visual Studio 代码未向我显示的自动完成功能。

例如,在一个视频中我看到以下自动完成功能:

在此输入图像描述

在我自己的安装中,我看到以下内容:

在此输入图像描述

请注意,自动完成并不暗示Destroy。其他方法/功能GetComponent也不会自动完成。

我相信在 VSC 中打开了正确的文件夹。

根据这个问题, Visual Studio 代码被设置为我统一的默认编辑器。我已经安装了.Net Core Extension Pack,其中包括 VSC 的 C# 扩展包。我缺少什么?

c# unity-game-engine visual-studio-code

6
推荐指数
1
解决办法
1万
查看次数

将一个形状良好的多边形切割成N个大小相等的多边形

我有一个匀称的多边形。我想将这些多边形切割成n 个多边形,它们都有或多或少相同大小的区域。大小相同是最好的,但近似值也可以。

我尝试使用此处描述的两种方法,这两种方法都是朝着正确方向迈出的一步,而不是我所需要的。两者都不允许目标n

我研究了voronoi,我对它很不熟悉。此分析给出的结果形状是理想的,但它需要点,而不是形状作为输入。

python shapes

6
推荐指数
1
解决办法
5476
查看次数

这个 UWSGI 输出是什么意思?&gt; “(X 在核心 0 上开启)”

我运行一个nginxuwsgi应用程序与django所使用的sqlite结构。

运行时uwsgi,当发出GETPOST请求时,它会发送输出,例如:

[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 个。

django nginx uwsgi

5
推荐指数
1
解决办法
1655
查看次数

与多个多重多边形的形状相交,其中一定百分比的多重多边形相交?

我正在使用 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)

python polygon shapely

5
推荐指数
1
解决办法
7535
查看次数

django的urls.py更改未在线反映

我正在使用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它们都无济于事。

python django nginx uwsgi

2
推荐指数
1
解决办法
752
查看次数