小编Lon*_*Dev的帖子

根据距离和方向计算点

我想使用GeoDjango或GeoPy计算基于方向和距离的点.

例如,如果我有一个点(-24680.1613,6708860.65389)我想找到一个点1KM North,1KM East,1KM Sourh和1KM west使用Vincenty距离公式.

我最接近的是distance.py中的"目的地"功能(https://code.google.com/p/geopy/source/browse/trunk/geopy/distance.py?r=105).虽然我无法在任何地方找到这个记录,但我还没弄明白如何使用它.

任何帮助深表感谢.

python django geodjango geopy

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

如何使用 SQLAlchemy 执行嵌套查询中存在的位置?

我正在尝试WHERE EXISTS在 SQLAlchemy 中执行一个子句。SQL 看起来像这样:

SELECT
    id, title
FROM
    package AS package1
WHERE
    EXISTS (
        SELECT
            title
        FROM
            package as package2
        WHERE
            package1.id <> package2.id AND
            package1.title = package2.title
    )
ORDER BY
    title DESC;
Run Code Online (Sandbox Code Playgroud)

是否可以在不使用原始 SQL 的情况下在 SQLAlchemy 中执行此操作?我试过这个,但它似乎没有返回正确的结果:

    t = model.Session.query(
        model.Package.id,
        model.Package.title
    ).subquery('t')

    package = model.Session.query(
        model.Package.title
    ).filter(
        model.Package.id != t.c.id,
        model.Package.title == t.c.title
    )
Run Code Online (Sandbox Code Playgroud)

python sql sqlalchemy

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

JavaScript:toDataUrl()抛出"安全错误:可能无法导出受污染的画布".

我有一个HTML5画布,我从svg中绘制一个图像.

HTML

<canvas id="canvas" width="600" height="320"></canvas>
Run Code Online (Sandbox Code Playgroud)

JavaScript的

var DOMURL = window.URL || window.webkitURL || window;

var data = '<svg xmlns="http://www.w3.org/2000/svg" width="600" height="320">'+
                    '<foreignObject width="100%" height="100%">'+
                        '<style>'+
                             'foreignObject {'+
                                 'background-color: #000;'+
                                 'color: #fff'+
                                 'border-radius: 10px;'+
                             '}'+
                            'h1 {'+
                                'color: #2acabd;'+
                                'font: 25px arial;'+
                                'font-weight: bold;'+
                                'text-align: center;'+
                            '}'+
                            'h2 {'+
                                'margin: 0;'+
                                'color: #2acabd;'+
                                'font: 15px arial;'+
                            '}'+
                            'p {'+
                                'color: #fff;'+
                            '}'+
                        '</style>'+
                        '<div xmlns="http://www.w3.org/1999/xhtml" style="font-size: 40px;">'+
                            '<h1>Heading</h1>'+
                            '<div>'+
                                '<div id="details-wrapper">'+
                                    '<h2>Full Name</h2>'+
                                    '<p>Alan Johnson</p>'+

                                    '<h2>Date of Birth</h2>'+
                                    '<p>7th November …
Run Code Online (Sandbox Code Playgroud)

javascript html5 svg canvas

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

在Webpack 4中全局包括其他jQuery插件

我正在尝试使用Webpack 4使内联JavaScript可以访问jQuery插件。

我正在使用PluginProvider使jQuery可用于我的网站:

  plugins: [
    new webpack.ProvidePlugin({
      "$": "jquery",
      "jQuery": "jquery"
    }),
  ],
Run Code Online (Sandbox Code Playgroud)

这工作正常,我可以从包含我的捆绑包的任何页面访问jQuery。

我试图通过创建一个包含以下内容的捆绑包来添加bootstrap-datepickervendor.js

import 'bootstrap-datepicker';
Run Code Online (Sandbox Code Playgroud)

我可以$('input').datepicker()vendor.js捆绑包中调用,但是如果尝试使用内联调用它,则会<script>得到:

Uncaught TypeError: $(...).datepicker is not a function
Run Code Online (Sandbox Code Playgroud)

如何配置Webpack 4以使其bootstrap-datepicker可用于全局范围?


更新

我已经在此处上传了演示此问题的源代码:https : //github.com/LondonAppDev/webpack-global-jquery-issue

看来问题在于第二个包导入正在重新添加没有datpicker附加组件的jQuery。有没有解决的办法?

javascript jquery webpack webpack-4

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

Bootstrap 3将隐藏div仍然加载图像

我正在建立一个响应式网站,其中包含一个大型轮播,首页上有多个图像.

我想为每个设备制作不同尺寸的图像.我想确保只下载该设备的正确图像,以便为移动用户节省带宽.

我可以通过这样的方式使bootstrap显示正确的图像:

<img src=" http://placehold.it/1700x700" alt="Placeholder" class="visible-lg"/>
<img src=" http://placehold.it/1100x700" alt="Placeholder" class="visible-md"/>
<img src=" http://placehold.it/900x700" alt="Placeholder" class="visible-sm"/>
<img src=" http://placehold.it/768x700" alt="Placeholder" class="visible-xs"/> 
Run Code Online (Sandbox Code Playgroud)

如果我在xs设备上加载它,它是否仍会下载所有4个图像,或者只下载最后一个?确保它只下载正确的最佳做法是什么?

真的很感谢你的帮助.

html css twitter-bootstrap

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

Django Rest Framework按指定的GET参数分页

我正在使用 Django REST 框架,我需要根据请求提供的 GET 参数对列表进行分页。

我知道我可以'PAGINATE_BY': 10在设置中进行设置,但是我想允许调用者在发出请求时指定他们想要分页的号码。

我目前有以下序列化程序:

from api.models import Countries
from rest_framework import serializers

class CountrySerializer(serializers.Serializer):
    country_geoname_id = serializers.CharField(required=True)
    country_code = serializers.CharField(source="iso", max_length=2L, required=True)
    country_name = serializers.CharField(max_length=64L, required=True)

    def transform_iso(self, obj, value):
        return "country_code"
Run Code Online (Sandbox Code Playgroud)

我尝试了以下观点:

@api_view(['GET'])
def country_list(request):
    """
    List all countries
    """
    if request.method == 'GET':
        queryset = Countries.objects.all()
        serializer = CountrySerializer(queryset, many=True, data=request.DATA)
        paginate_by = request.GET.get('limit', 10)
        return Response(serializer.data)
Run Code Online (Sandbox Code Playgroud)

但是我觉得我错过了一些东西,我一直无法从文档中弄清楚。

我应该在序列化程序中还是在视图中进行分页?

提前致谢。

python django pagination django-rest-framework

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

WSGI中的两个单独的django站点(root和/ two)

经过数小时的尝试,我决定屈服并向SO寻求帮助:)

我有两个在Debian 7上的Apache2上运行的Django 1.6站点。我有一个虚拟主机。

我希望虚拟主机的根域转到一个django站点(例如:mydomain.com),并为第二个站点提供单独的别名(例如:mydomain.com/two)。

我可以得到两个别名,如下所示:

    WSGIDaemonProcess test1 python-path=/usr/local/projects/project_one:/usr/local/virtualenvs/project/lib/python2.7/site-packages
    WSGIScriptAlias /one /usr/local/projects/project_one/project_one/wsgi.py
    <Location /one>
            WSGIProcessGroup test1
    </Location>

    WSGIDaemonProcess test2 python-path=/usr/local/projects/project_two:/usr/local/virtualenvs/project/lib/python2.7/site-packages
    WSGIScriptAlias /two /usr/local/projects/project_two/project_two/wsgi.py
    <Location /two>
            WSGIProcessGroup test2
    </Location>
Run Code Online (Sandbox Code Playgroud)

如果我使用以下域,这将起作用:

http://mydomain.com/one/

http://mydomain.com/two/

但是,如果我想使用根目录(mydomain.com)和另一个目录(mydomain.com/two),它将无法工作:

    WSGIDaemonProcess test1 python-path=/usr/local/projects/project_one:/usr/local/virtualenvs/project/lib/python2.7/site-packages
    WSGIScriptAlias / /usr/local/projects/project_one/project_one/wsgi.py
    <Location />
            WSGIProcessGroup test1
    </Location>

    WSGIDaemonProcess test2 python-path=/usr/local/projects/project_two:/usr/local/virtualenvs/project/lib/python2.7/site-packages
    WSGIScriptAlias /two /usr/local/projects/project_two/project_two/wsgi.py
    <Location /two>
            WSGIProcessGroup test2
    </Location>
Run Code Online (Sandbox Code Playgroud)

我认为它不起作用,因为它试图使用站点2的WSGI文件运行站点一:WSGI脚本“ /usr/local/projects/project_one/project/wsgi.py”。

我的问题是我如何才能第二次尝试工作,以便mydomain.com转到一个项目,而mydomain.com/two转到另一个项目。

我最初是按照 帖子到达我所在的位置,但找不到任何能帮助我绕过此障碍的东西。

感谢马克的支持

python apache django virtualhost

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

允许使用Cmder转发代理(ConEmu)

我正在使用在Windows 8.1上运行ConEmu的cmder.

它具有内置的Git功能,因此我可以在控制台中拉/推git存储库(就像在Linux控制台上一样)

要进行身份验证,请使用受密码保护的SSH私钥.如果我git push使用ConEmu,它会每次都提示我输入密钥密码.我可以输入'start-ssh-agent'并输入一次密码,它将在ConEmu窗口中自动验证我,但是如果我关闭或打开另一个窗口,我需要再次运行命令.

如何在每个ConEmu窗口中启动一个ssh-agent来验证我的密钥?

git ssh shell command-prompt cmder

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

Django 单元测试等待数据库

我有一个 Django 命令,它运行一个循环,直到数据库可用:

import time

from django.db import connections
from django.db.utils import OperationalError
from django.core.management.base import BaseCommand


class Command(BaseCommand):
    """Django command to pause execution until database is available"""

    def handle(self, *args, **options):
        """Handle the command"""
        self.stdout.write('Waiting for database...')
        db_conn = None
        while not db_conn:
            try:
                db_conn = connections['default']
            except OperationalError:
                self.stdout.write('Database unavailable, waiting 1 second...')
                time.sleep(0.1)

        self.stdout.write(self.style.SUCCESS('Database available!'))
Run Code Online (Sandbox Code Playgroud)

我想为此代码创建单元测试。

我已经设法从一开始就测试可用的数据库,如下所示:

def test_wait_for_db_ready(self):
    """Test waiting for db when db is available"""

    with patch('django.db.utils.ConnectionHandler.__getitem__') as gi:
        gi.return_value = True
        call_command('wait_for_db')
        self.assertTrue(True)
Run Code Online (Sandbox Code Playgroud)

有没有办法测试命令在返回之前等待数据库可用? …

python django unit-testing

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

How to set default branch for GitPython

With GitPython, I can create a new repo with the following:

from git.repo.base import Repo

Repo.init('/tmp/some-repo/')
Run Code Online (Sandbox Code Playgroud)

The repo is created with the default branch master.

How can I modify this default branch?

Update: As suggested in the answers below, I have tried using Repo.init('/tmp/some-repo', initial_branch="main"), however it renders this exception:

Traceback (most recent call last):
  File "/app/checker/tests.py", line 280, in test_alternative_compare_branch
    comp_repo_main = Repo.init(
  File "/usr/local/lib/python3.9/site-packages/git/repo/base.py", line 937, in init
    git.init(**kwargs)
  File "/usr/local/lib/python3.9/site-packages/git/cmd.py", line 542, in …
Run Code Online (Sandbox Code Playgroud)

python git gitpython

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