在我的页面中,我有投票的可能性。每个对象都可以通过脸书“喜欢”按钮来欣赏。如果项目已被喜欢,我想隐藏按钮。所以我为喜欢的对象编写了一个方法来检查给定ip的用户是否已经投票。 IP存储在上下文变量中。
def check_vote(self, ip):
id = self.id
logging.debug("id: %s, ip: %s" % (id, ip))
try:
voted = Vote.objects.get(uid=id, ip=ip)
return False
except:
logging.debug("returning True")
return True
以下是我的观点:
def artifact_finalists(request):
submissions = ArtifactSubmission.objects.filter(resized=True, final=True)
template_name = 'rte/artifact_finalists.html'
return render_to_response(template_name, {"submissions": submissions, 'voting': voting,}, context_instance=RequestContext(request))
模板:
{% for submission in submissions %}
<li style="float:left, width:400px, margin-right:20px">
<div class="single-submission">
<div style="float:left, margin-right:10px">
<img src="{{ submission.url100 }}" width="100px" />
</div>
<div style="float:left">
<span style="float:left">{{ submission.name }}</span>
<span style="float:left">{{ submission.description }}</span>
</div>
<div class="vote">
{% if submission.get_vote IP_ADDRESS %}
<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like layout="button_count" href="http://ntt.vipserv.org{{submission.get_absolute_url}}"></fb:like>
{% endif %} </div>
</div>
</li>
{% endfor %}
但它提出了:Expected 'not' in if statement
。有什么想法吗?在“if”标记中添加“not”会引发improperly formatted
:/
答案 0 :(得分:2)
模板中的if
语句似乎缺少运算符。
{% if submission.get_vote IP_ADDRESS %}
如果submit.get_vote(是什么)IP_ADDRESS? ==或许?
请参阅Django template docs,了解if
在模板中接受的内容列表。
此外,还不清楚IP_ADDRESS是什么。你的意思是REMOTE_ADDR,还是以某种方式引用你已经拥有的IP地址?
另外,我建议不要使用裸except:
。将其限制为您特别考虑的例外情况。不指定异常可以隐藏其他错误。我建议添加
from django.core.exceptions import ObjectDoesNotExist
然后
except ObjectDoesNotExist:
<_>在check_vote方法中。
check_vote在哪里调用?