小编neu*_*rix的帖子

GeoDjango:确定多边形的面积

在我的模型中,我有一个定义的多边形字段

polygon = models.PolygonField(srid=4326, geography=True, null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)

当我想确定多边形的区域时,我打电话

area_square_degrees = object.polygon.area
Run Code Online (Sandbox Code Playgroud)

但是如何使用GeoDjango 将平方度的结果转换为m2? 这个答案不起作用,因为area没有方法sq_m.有内置转换吗?

gis django polygon area geodjango

3
推荐指数
1
解决办法
2080
查看次数

AngularJS:在ng-repeat之外使用ng-model

在我的AngularJS应用程序中,我循环遍历数组对象并将值作为值发送到无线电输入.总体思路是用户选择一个单选框,并将值作为$ routeParams的一部分.不幸的是,变量{{ modelSelected }}在ng-repeat之外似乎不可用.为什么?第一个从不显示变量{{ modelSelected }}.

AngularJS是否在ng-repeat中创建了ScopeChild?

链接到我的jsfiddle示例

<html ng-app>
    <body ng-init="models = [{name:'Sam'},{name:'Harry'},{name:'Sally'}]">
        <h3> Selected {{ modelSelected }} shown outside paragraph</h3>

        <div ng-repeat="model in models">
            <p>{{ model.name }} -
                <input ng-model="modelSelected" type="radio" name="patient" value="{{ model.name }}" required>
            </p>
             <h3> Selected {{ modelSelected }} shown inside paragraph</h3>

        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angularjs-ng-repeat angular-ngmodel

3
推荐指数
1
解决办法
3157
查看次数

Django:基于类的视图不能呈现松脆的形式

嗨Stackoverflow人,

我很难用基于类的视图渲染一个清脆的表单.当我使用基于函数的视图时,一切正常.

像往常一样,我生成forms.py如下:

from django import forms    
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, Div, Submit, HTML, Button, Row, Field
from item.models import Item

class CreateItemForm(forms.ModelForm):
    class Meta:
        model = Item
        exclude = ('user',)

        def __init__(self, *args, **kwargs):
            self.helper = FormHelper()
            self.helper.form_tag = False
            self.helper.form_class = 'form-horizontal'
            self.helper.layout = Layout(
                Fieldset(
                    'Create your item here',
                    'name', 'description', 
                    'save',
                ),
            )
            self.request = kwargs.pop('request', None)
            return super(CreateItemForm, self).__init__(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

视图功能非常简单和标准:

from django.views.generic.edit import CreateView,
from item.models import Item
from item.forms …
Run Code Online (Sandbox Code Playgroud)

forms django django-forms django-class-based-views django-crispy-forms

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

与Python中的unicode混淆

作为Django站点的一部分,用户可以输入街道名称,该条目将添加到谷歌地图地理编码链接.一切正常,直到用户输入特殊字符.

我想在链接中显示特殊字符,但是python用unicode符号替换字符.有没有办法阻止python切换到unicode并简单地接受用户输入?我尝试了几种解码器和格式,但它没有解决问题.

编辑:代码在Python 2中编程.

我目前正在请求JSON响应如下:

    url = "http://maps.googleapis.com/maps/api/geocode/json?address=" +
          addressString.decode('ascii') + "&sensor=false";
    googleResponse = urllib.urlopen(url);
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助和建议.

python unicode ascii decode hyperlink

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

Django/Python:在Django模板中循环选定的表单字段

我有一个包含n个字段的表单.前4个字段应该在我的模板中以不同的形式显示.因此,我想知道我是否可以以某种方式循环前4个字段,结束循环并继续在模板中的其余字段上循环.

        <table>
            {% for field in form %}
            {% if forloop.counter == 4 <<< Break here >>>%}
            <tr>
                <td> {{ field.label_tag }} </td>
                <td> {{ field }} </td>
            </tr>
            {% endfor %}
        </table>
        .... Different code ....
        <table>
            {% for field in form %} <<< Continue here >>>
            <tr>
                <td> {{ field.label_tag }} </td>
                <td> {{ field }} </td>
            </tr>
            {% endfor %}
        </table>
Run Code Online (Sandbox Code Playgroud)

我找到了这段代码,但我想知道我是否能够以不同的方式构建模板,或者我是否错过了Django 1.3中允许现在断开循环的一些新变化.

通常情况下,我会将表单分成两个单独的表单,但我想在其他模板中重用表单定义,因此我希望将所有信息保存在一个表单中.

感谢您的意见!

forms django templates for-loop

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

Python:TypeError:'unicode' 对象不可调用,与 ugettext 冲突?

我正在将GeoDjango示例与类一起使用WorldBorder。我的问题是我无法打印出所选国家的名称。当我尝试执行

from django.utils.translation import ugettext_lazy as _
...
location = fromstr(... , srid=4326)
country = WorldBorder.objects.get(mpoly__intersects=location)
print _('User country determined to %s') %country.name
Run Code Online (Sandbox Code Playgroud)

我收到错误消息:

Python: TypeError: 'unicode' object is not callable
Run Code Online (Sandbox Code Playgroud)

当我删除 时ugettext_lazy,一切正常。如何保留翻译选项并使字符串正常工作?

python django unicode typeerror

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

Django:在模板中找不到反向&gt; {% url %}

这个问题看起来很简单,并且在 SO 中多次描述,但我仍然无法弄清楚为什么它在我的情况下不起作用。

所以,我在urls.py 中声明了一个 url

urlpatterns = patterns('',
    url(r'^(?P<country>[-\w]+)/$', CountryListView.as_view(), name='list_by_country'),)
Run Code Online (Sandbox Code Playgroud)

在我的模板中,我正在调用 url

<a href="{% url 'list_by_country' country.country__name %}" >{{ country.country__name }}</a>
Run Code Online (Sandbox Code Playgroud)

但是,我收到无法反转 url的错误消息

Reverse for 'list_by_country' with arguments '(u'United Kingdom',)' and keyword arguments '{}' not found
Run Code Online (Sandbox Code Playgroud)

什么导致反向错误?参数中的空格可能不允许吗?


django url reverse arguments

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

Django:未提交表单的只读字段

在我的表单中,我有一个只读字段.该字段的内容将由java脚本填充,并取决于可编辑字段的输入.为了避免用户修改字段数据,我想将其标记为只读.

当我在forms.py中将该字段标记为只读时

'key': forms.TextInput(attrs={'disabled':'disabled'}),
Run Code Online (Sandbox Code Playgroud)

该字段的内容似乎是只读的,但不会被提交.当我尝试阅读form.cleaned_data ['key']时出现以下错误:

Exception Type:     MultiValueDictKeyError
Exception Value:    "Key 'key' not found in <QueryDict: ...>
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法将字段标记为Django表单中的"只读"而不是"禁用"?

谢谢你的建议!

forms django widget textinput

0
推荐指数
1
解决办法
3689
查看次数