如何从views.py 中获取值并在html 模板中使用它?
Posted
技术标签:
【中文标题】如何从views.py 中获取值并在html 模板中使用它?【英文标题】:how to get values from views.py and use it in html template? 【发布时间】:2014-10-08 17:39:57 【问题描述】:我正在制作一个地图,用户可以在其中登录并分配默认起点和终点。我对 Django 和 html 很陌生,现在我不知道如何将变量值传递给 html。
这是我的观点.py
def maps(request):
username = password = ''
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(username = username, password = password)
if user is not None:
if user.is_active:
login(request, user)
traffic_start = Auth.objects.get(user = user).traffic_start
traffic_end = Auth.objects.get(user = user).traffic_end
return render_to_response('maps.html')
我正在尝试在此处使用 html 文件中的值
function calcRoute()
var start = document.getElementById('start').value;
var end = document.getElementById('end').value;
var request =
origin: start,
destination: end,
travelMode: google.maps.TravelMode.DRIVING
;
directionsService.route(request, function(response, status)
if(status == google.maps.DirectionsStatus.OK)
directionsDisplay.setDirections(response);
);
google.maps.event.addDomListener(window, 'load', initialize);
我试图寻找类似的线程,但我仍然无法弄清楚,请帮助我,非常感谢!
【问题讨论】:
很多人可能认为有重复,但我需要更多帮助,请谅解。 【参考方案1】:你也可以这样传递对象:
Models.py
class Profiles(models.Model):
id = models.IntegerField()
first_name = models.CharField(max_length=45, blank=False)
surname = models.CharField(max_length=45, blank=False)
然后在views.py 中引用这个对象并将它传递给你的模板,就像@Tim Zimmermann 提到的那样
Views.py
profiles = Profiles.objects.all;
render_to_response('template.html', 'profiles': profiles )
然后您可以在模板中遍历它们:
template.html
% for profile in profiles %
<p> profile.first_name </p>
<p> profile.surname </p>
% endfor %
【讨论】:
【参考方案2】:render_to_response
有一个可选参数,您可以使用它,它称为上下文。它必须是一本字典。
render_to_response('maps.html', 'name': username)
您可以在模板中将用户名的值与 name
一起使用。
查看Django Tutorial 以获得复杂的示例项目。
【讨论】:
您链接到教程的开发版本。我会假设 OP 使用的是 1.6 版,它在某些重要方面有所不同。 我试过 return render_to_response('maps.html', 'start': traffic_start, 'end': traffic_end) 在html中,我把 Start: End: 但它没用,怎么回事? 在您的 HTML 中,尝试将value=" start "
和 value=" end "
放入输入标签中。
非常感谢大家!以上是关于如何从views.py 中获取值并在html 模板中使用它?的主要内容,如果未能解决你的问题,请参考以下文章
Django:如何从views.py获取字典到javascript函数(html文件)
如何从多个SQL表中获取值并在html / php表中显示?