and*_*ish 9 javascript python django serialization json
新手编程在这里.我有一个有很多行的模型,我想将每一行传递给javascript.
第一次尝试:
Views.py
events = Events.objects.filter(user_id=user_id) // filter by user_id
context = {
"email": request.user.email,
"login": True,
"objects": events,
}
return render(request, 'fullcalendar/index.html', context)
Run Code Online (Sandbox Code Playgroud)
Events是表的名称,我存储了每一行events.将其传递到一个dict context,然后传递给我的模板.然后从我的模板我能够做到这样的事情:
{% for object in objects %}
<p>event.column_name</p>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
这样可以正常工作,但我不能在javascript部分那样做.
{% for object in objects %}
var date = object.date // assuming object has a column named date
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
第二次尝试
所以我做了一些研究并决定使用json.
在Views.py中,我做了以下更改:
return render(request, 'fullcalendar/index.html', {"obj_as_json": simplejson.dumps(context)})
Run Code Online (Sandbox Code Playgroud)
从此我希望这样做:
var objects = {{ obj_as_json }}
for object in objects
//Do some stuff
Run Code Online (Sandbox Code Playgroud)
但我得到了错误QuerySet is not JSON Serializable Django.所以我查找了如何序列化对象并进行了以下更改:
data = serializers.serialize('json', events.objects.all())
Run Code Online (Sandbox Code Playgroud)
但我得到以下错误: 'QuerySet' object has no attribute 'objects'
男人,theres必须更容易做我想做的事情.有任何想法吗?
试试这个:
data = serializers.serialize('json', events)
你得到的错误消息告诉你它events已经是一个 QuerySet,没有理由尝试用它做更多的事情。
您还可以重新审视您之前的尝试:
{% for object in objects %}
var date = object.date // assuming object has a column named date
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
你需要object像这样实际使用 Django :
{% for object in objects %}
var date = {{ object.date }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
你之前在做它的方式object将仅仅是undefined,你会得到错误cannot read property date of undefined
| 归档时间: |
|
| 查看次数: |
8762 次 |
| 最近记录: |