小编pri*_*stc的帖子

将文字叠加添加到Google地图

这是一个很简单的问题,但我无法在任何地方找到答案......

我有一个python脚本,返回一堆数字,表示给定地理区域的项目总数.我有一堆.kml文件代表每个地区的地理范围.我想获取脚本创建的数字并将它们粘贴到匹配的.kml叠加层上方.我无法弄清楚如何做到这一点.我知道如何添加.kml文件,但我无法弄清楚如何处理文本.Google网站上有很多关于如何在地图上添加标记图标,折线,甚至图像的信息,但我找不到如何添加一些简单的文字.

google-maps

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

制作模型搜索表​​单的最佳方法是什么?

我有这个型号:

class Aircraft(models.Model):
    model       =   models.CharField(max_length=64, blank=True)
    type        =   models.CharField(max_length=32)
    extra       =   models.CharField(max_length=32, blank=True)
    manufacturer    =   models.CharField(max_length=32)
    engine_type =   models.IntegerField("Engine Type", choices=ENGINE_TYPE, default=0)
    cat_class   =   models.IntegerField("Category/Class", choices=CAT_CLASSES, default=1)
Run Code Online (Sandbox Code Playgroud)

我有一个"查找飞机"页面,向用户显示一个表格,他们可以输入数据,用于查找符合其标准的所有飞机.例如,用户可以将"波音"输入到文本框中并"喷射"到engine_type框中,它将显示数据库中的所有波音喷射.我现在这样做的方式是这种形式:

class AircraftSearch(ModelForm):
    search = forms.CharField(max_length=100, required=False)
    class Meta:
        model = Aircraft
        fields = ('engine_type', 'cat_class', )
Run Code Online (Sandbox Code Playgroud)

然后是一个(不必要的复杂)视图,它将这个表单中的数据转换为一组filter()被添加到的表单Aircraft.objects.all().(我没有为每个CharField分配4个单独的搜索字段,而是将它们全部合并到一个搜索字段中.)

这一切都有效,但有一个问题.如果用户想要从他们的搜索条件中排除引擎类型,那么他们就会被搞砸,因为"Any"不是引擎类型字段的有效选择.我将不得不为引擎类型和类别/类创建一个新的字段/小部件以包含"Any",这种方式首先会破坏使用模型视图的目的

我很好奇.有没有更好的办法?这似乎是一项非常普遍的任务,必须由其他人解决,但谷歌搜索没有任何结果.

django django-forms

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

什么是用于命名作为python保留名称的django模型字段的正确习惯用法?

我有一个模型,需要有一个名为一个字段complex,另一个名为type.这些都是python保留名称.据PEP 8,我要他们的名字complex_type_分别,但Django会不会让我有一个结尾下划线命名字段.什么是正确的处理方式?

python django idioms

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

向装饰器添加参数

我有这个装饰器,用于装饰django视图,如果share参数是True(由中间件处理)我不希望执行视图

class no_share(object):
    def __init__(self, view):
        self.view = view

    def __call__(self, request, *args, **kwargs):
        """Don't let them in if it's shared"""

        if kwargs.get('shared', True):
            from django.http import Http404
            raise Http404('not availiable for sharing')

        return self.view(request, *args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

它目前的工作方式如下:

@no_share
def prefs(request, [...])
Run Code Online (Sandbox Code Playgroud)

但是我想稍微扩展一下这个功能,所以它会像这样工作:

@no_share('prefs')
def prefs(request, [...])
Run Code Online (Sandbox Code Playgroud)

我的问题是如何修改这个装饰器类,以便它接受额外的参数?

python django decorator

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

如何在python中完全清理一串非法字符?

我有我的程序的一个功能,用户可以上传一个csv文件,我的程序通过该文件并用作输入.我有一个用户抱怨他的输入引发错误的问题.错误是由于编码错误的非法字符造成的.字符如下:

?
Run Code Online (Sandbox Code Playgroud)

有时它看起来像一个带有"?"的钻石.在中间.有时它看起来像双钻石"?" 在中间,有时它显示为"\ xa0",有时它显示为"\ xa0\xa0".

在我的计划中,如果我这样做:

print str_with_weird_char
Run Code Online (Sandbox Code Playgroud)

striong将在我的终端出现钻石"?" 代替奇怪的角色.如果我将该字符串复制+粘贴到ipython中,它将退出并显示以下消息:

In [1]: g="blah??blah"
WARNING: 
********
You or a %run:ed script called sys.stdin.close() or sys.stdout.close()!
Exiting IPython!
Run Code Online (Sandbox Code Playgroud)

注意钻石"?" 现在加倍了.由于某种原因,复制+粘贴使它加倍......

在django traceback页面中,它看起来像这样:

UnicodeDecodeError at /chris/import.html
('ascii', 'blah \xa0 BLAH', 14, 15, 'ordinal not in range(128)')
Run Code Online (Sandbox Code Playgroud)

让我感到困惑的是,如果没有它,我就不能对这个字符串做任何事情.我尝试了unicode(),我尝试了str(),我尝试了.encode(),我尝试了.encode("utf-8"),无论它抛出什么错误.

我能做些什么让这个东西成为一个有效的字符串?

python unicode

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

文件中的随机行

这个问题是在一次采访中给我的.采访已经结束了,但我仍然在考虑问题和它的烦恼:

您可以包含以下工具语言:一个rand()功能,whilefor循环,if语句和readline()方法(类似于Python的readline()).给定这些工具,编写一个在文件中返回随机行的算法.您不知道文件的大小,并且您只能循环文件的内容一次.

language-agnostic

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

有没有可以进行"部分渲染"的python模板库?

可以说我有以下模板:

<!DOCTYPE html>    
<html>
    {{ var1 }}
    {% if var1 and var2 %}
        <span>some text</span>
    {% endif %}
    {{ var2 }}
</html>
Run Code Online (Sandbox Code Playgroud)

当我var1=3像上下文一样呈现它时,它会产生以下输出:

<!DOCTYPE html>    
<html>
    3
    {% if 3 and var2 %}
        <span>some text</span>
    {% endif %}
    {{ var2 }}
</html>
Run Code Online (Sandbox Code Playgroud)

当我再次使用var2=5上下文渲染第一个渲染的输出时,输出为:

<!DOCTYPE html>    
<html>
    3
        <span>some text</span>
    5
</html>
Run Code Online (Sandbox Code Playgroud)

问题是大多数模板引擎会将上下文中缺失的变量评估为空字符串.这些都是在假设只有一个渲染的情况下构建的.

我知道jinja2可以用这种方法做到这一点:jinja2模板的多个渲染?

但它在整个if语句中不起作用,它只适用于单个变量.

是否有任何流行的模板库具有我描述的渲染模式?马可?元史?别的什么?也许这是一个非python模板引擎吗?

python template-engine

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

无需 AWS 凭证即可获取可公开访问的 S3 存储桶内容

给定一个包含可公开访问的内容的存储桶,我如何获得所有这些可公开访问的内容的列表?我知道 boto 可以做到这一点,但 boto 需要 AWS 凭证。另外,boto 在我正在使用的 Python3 中不起作用。

amazon-s3 amazon-web-services python-3.x

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

如何将pdb注入失败的Python脚本?

我正在研究一个django项目,它有一个大型夹具,不能加载:

$ python manage.py loaddata apps/mainsite/fixtures/test_auctions.json 
/Users/cp/bidsite/.ve/lib/python2.6/site-packages/django/db/models/fields/subclassing.py:80: DeprecationWarning: A Field class whose get_db_prep_save method hasn't been updated to take a `connection` argument.
  new_class = super(SubfieldBase, cls).__new__(cls, name, bases, attrs)
/Users/cp/bidsite/.ve/lib/python2.6/site-packages/django/db/models/fields/subclassing.py:80: DeprecationWarning: A Field class whose get_db_prep_lookup method hasn't been updated to take `connection` and `prepared` arguments.
  new_class = super(SubfieldBase, cls).__new__(cls, name, bases, attrs)
/Users/cp/bidsite/.ve/lib/python2.6/site-packages/celery/task/schedules.py:5: DeprecationWarning: celery.task.schedules is deprecated and renamed to celery.schedules
  "celery.task.schedules is deprecated and renamed to celery.schedules"))
Problem installing fixture 'apps/mainsite/fixtures/test_auctions.json': Traceback (most recent call last):
  File "/Users/cp/bidsite/.ve/lib/python2.6/site-packages/django/core/management/commands/loaddata.py", …
Run Code Online (Sandbox Code Playgroud)

python django debugging pdb

4
推荐指数
1
解决办法
800
查看次数

如何快速分析postgres数据库

我有一个 postgres 数据库,我想了解一些快速统计数据。例如,哪些表占用的空间最多?我不需要任何花哨的东西,命令行就是我所需要的。有什么好的工具可以做到这一点?

postgresql

4
推荐指数
1
解决办法
2789
查看次数