在我的模型中,我有一个定义的多边形字段
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.有内置转换吗?
在我的AngularJS应用程序中,我循环遍历数组对象并将值作为值发送到无线电输入.总体思路是用户选择一个单选框,并将值作为$ routeParams的一部分.不幸的是,变量{{ modelSelected }}在ng-repeat之外似乎不可用.为什么?第一个从不显示变量{{ modelSelected }}.
AngularJS是否在ng-repeat中创建了ScopeChild?
<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) 嗨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
作为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)
感谢您的帮助和建议.
我有一个包含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中允许现在断开循环的一些新变化.
通常情况下,我会将表单分成两个单独的表单,但我想在其他模板中重用表单定义,因此我希望将所有信息保存在一个表单中.
感谢您的意见!
我正在将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,一切正常。如何保留翻译选项并使字符串正常工作?
这个问题看起来很简单,并且在 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)
什么导致反向错误?参数中的空格可能不允许吗?
在我的表单中,我有一个只读字段.该字段的内容将由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表单中的"只读"而不是"禁用"?
谢谢你的建议!