Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
373 views
in Technique[技术] by (71.8m points)

python - Using Django view variables inside templates

this is a rather basic question (I'm new to Django) but I'm having trouble using a variable set in my view inside my template. If I initialize a string or list inside my view (i.e. h = "hello") and then attempt to call it inside a template:
{{ h }}
there is neither output nor errors. Similarly, if I try to use a variable inside my template that doesn't exist:

{{ asdfdsadf }}

there is again no error reported. Is this normal? And how can I use my variables within my templates. Thanks!

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

In order to have access to a variable in a template, it needs to be in the the context used to render that template. My guess is you aren't passing a context dictionary to the template when you render it.

http://docs.djangoproject.com/en/dev/topics/http/shortcuts/#render-to-response

The "dictionary" referenced there is a dictionary that contains all the variables you want to have available in the context. For example:

return render_to_response('your_template.html', {'h': h})

As far as the "no error" error goes... That's the default setting for an invalid template variable. You can change that in the project's settings if you'd like.

http://docs.djangoproject.com/en/dev/ref/settings/#template-string-if-invalid


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...