繁体   English   中英

我怎样才能在python django中解决这个错误?

[英]How can i solve this errors in python django?

嗨我非常新手在python django。

这是我的django views.py代码

def post_list(request):
request.session['lat'] = request.POST['user_lat']
request.session['lon'] = request.POST['user_lon']
userpoint = GEOSGeometry('POINT('lat' 'lon')', srid=4326)
list_total = list_1
i=1
while i:
    list_i = Post.objects.filter(point_distance__lte = userpoint, D(km=i)
    list_total = 'list_total' + ',' + 'list_i')
    result_list = list(chain(list_total))
    if len(result_list) >= 50 :
        break

template = loader.get_template('blog/index.html')
context = {
    'post_list': post_list,
}

return HttpResponse(template.render(context, request))

首先,我希望make list使用request.session [] = request.POST []来制作坐标,这个坐标将用于我的点场'model.py'是否可能? 还是有问题?

第二,在终端(ubuntu16.04)中,我使用python3 manage.py makemigrations命令,它给出了如下消息,来自这样的代码,

request.session['lat'] = request.POST['user_lat']
request.session['lon'] = request.POST['user_lon']
userpoint = GEOSGeometry('POINT('lat' 'lon')', srid=4326)

发生错误,如此 - >

userpoint = GEOSGeometry('POINT('lat' 'lon')', srid=4326)
                                  ^
                               SyntaxError: invalid syntax

从这样的代码,

list_i = Post.objects.filter(point_distance__lte = userpoint, D(km='i'))
                                                                                                                ^

SyntaxError:位置参数跟随关键字参数

这个SyntaxError出现了。

最后,从这段代码,

while i:
    list_i = Post.objects.filter(point_distance__lte = userpoint, D(km=i))
    list_total = 'list_total' + ',' + 'list_i')
    result_list = list(chain(list_total))
    if len(result_list) >= 50 :
        break

- >这个SyntaxError出现了。

list_total = list_total + ',' + 'list_i'
         ^

SyntaxError:语法无效

我该如何解决这个问题?

while i:
    list_i = Post.objects.filter(point_distance__lte = userpoint, D(km=i))
    list_total = 'list_total' + ',' + 'list_i')
    result_list = list(chain(list_total))
    if len(result_list) >= 50 :
        break

PS。 我想使用list(chain())函数创建我自己的result_list,但我想它是有效的。

itertools - python doc: https ://docs.python.org/3.3/library/itertools.html我是根据GEOdjango代码: https ://docs.djangoproject.com/en/dev/ref/contrib/gis/db -API /#距离的查找

我使用python3(可能是3.5),django 1.9

感谢您阅读我的问题。

您无法使用错误形成的字符串实例化GEOSGeometry对象。 采用

userpoint = GEOSGeometry('POINT('+ latvariable +''+ lonvariable +')',srid = 4326)

你已经错过了收银台:

list_i = Post.objects.filter(point_distance__lte = userpoint, D(km=i)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM