由于django模板中没有模数(%)所以如何在此应用循环
{% for story in data %}
{{forloop.counter}}
Run Code Online (Sandbox Code Playgroud)
当forloop.counter%4 == 1时,应执行此操作
<div class="thumb">
<a href="#"><img src="{{ STATIC_URL }}images/thumb.jpg" width="185" height="185" /></a>
</div>
<div class="thumbFooter">
<span class="view">
<a href="#" class="viewIcon">{{ story.views }}</a>
</span>
<span class="like">
<a href="#" class="likeIcon">{{ story.likes }}</a>
</span>
</div>
</li>
Run Code Online (Sandbox Code Playgroud)
当forloop.counter%4 == 2或3然后这个
<li>
<div class="thumb">
<a href="#"><img src="{{ STATIC_URL }}images/thumb.jpg" width="185" height="185" /></a>
</div>
<div class="thumbFooter">
<span class="view">
<a href="#" class="viewIcon">{{ story.views }}</a>
</span>
<span class="like">
<a href="#" class="likeIcon">{{ story.likes }}</a>
</span>
</div>
</li>
Run Code Online (Sandbox Code Playgroud)
当for循环的forloop.counter%4 == …
我正在使用django-voting:https://github.com/brosner/django-voting/tree/master/voting 在我的帖子之后,我被重定向到这里:http://www.iana.org/domains/例如/#C40
<form method="POST" action="/comments/{{ comment.id }}/up/vote/">
{% csrf_token %}
<button type="submit">Thumbs Up!</button>
</form>
Run Code Online (Sandbox Code Playgroud)
投票已创建,我可以在管理员中看到它.
没有在我的应用程序中我有这种重定向.我也无法在django-voting中找到这行代码,它将具有此重定向.这是否发生在其他人身上,如果是这样,你怎么解决这个问题?
我只想在投票后重定向同一页面.所以我试着<input type="hidden" name="next" value="{{ event.get_absolute_url }}" />想它可能会覆盖.但这似乎不起作用.建议?
我有一个变量,我需要在模板内更改.
让我们说变量foo是4,但我需要值foo + 1.
然后我会在if声明中使用它,如下所示:
{% if bar == foo+1 %}
<p>Condition has been met!</p>
{% endif %}
Run Code Online (Sandbox Code Playgroud) 我在python/django模板中寻找短条件语句,所以我可以少写并重用更多.像(在disabled_rows中的tkey)?"disabled-row":"".
这是我正在做的事情:
{% if tkey in disabled_rows %}
<tr class="disabled-row">
{% else %}
<tr>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
我也试过一个自定义模板标签但没有成功:
{{ (tkey in disabled_rows)|xif:'true,false' }}
Run Code Online (Sandbox Code Playgroud)
xif实现:
def xif(cond, args):
if cond:
return args.split(',')[0]
else:
return args.split(',')[1]
Run Code Online (Sandbox Code Playgroud)
如果你可以解释为什么这不是在python本地实现的额外点.
def func_view(request,id):
post = get_object_or_404(Post, pk=id, user=request.user)
return render_to_response('post.html',
{'post': post},
RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
在我的模板中:
<div id="post-data">
{{ post.name }}
{{ post.date }}
{{ post.extra }}
</div>
Run Code Online (Sandbox Code Playgroud)
如何创建这样的东西:如果我{{ post.extra }}在数据库中是空的 - >显示信息"Extra is empty"?
在模板中,如何检查ModelChoiceField是否为空?
这是我的表格:
class BatchForm(forms.ModelForm):
def __init__(self, user=None, *args, **kwargs):
super(BatchForm, self).__init__(*args, **kwargs)
this_templates = Template.objects.for_user(user)
self.fields["templates"] = forms.ModelChoiceField(queryset=this_templates, required=False, empty_label=None)
Run Code Online (Sandbox Code Playgroud)
然后在我的意见我想不显示下拉如果查询集为空,这样的事情...
{% if not form.templates%}
<div class="control-group">
<div class="controls">
{{ form.templates }}
</div>
etc
Run Code Online (Sandbox Code Playgroud) 我目前正在研究我网站的静态方面.并创建HTML/CSS/JS的东西.在基础HTML我有一些链接.其中一个是"约",这将导致...:8000/about 现在当我在about页面上有相同的链接,因为它们在基本模板中.当我点击它们时,我得到......:8000/about/about ,每次点击都会继续添加/约.
我应该如何得到这个链接总是指向...:8000 /约
谢谢.
如果我打印request.POST.username和request.POST.password,我得到正确的数据.但我无法验证表格.我无法得到cleaned_data.
views.py
def login(request):
if request.method == 'POST':
form = LoginForm(request.POST)
if form.isValid():
print "coming"
return render_to_response('html/index.html')
else:
form = LoginForm()
c = {'logInForm': form, }
return render_to_response('html/index.html', c, RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
forms.py
from django import forms
class LoginForm(forms.Form):
username = forms.EmailField()
password = forms.CharField(max_length=50)
Run Code Online (Sandbox Code Playgroud)
的index.html
<!DOCTYPE html>
<html>
<head>
.....
</head>
<body>
<div class="container">
<form class="form-signin" action="login" method="post">{% csrf_token %}
{{ logInForm.as_p }}
<input type="submit" value="Submit"/>
</form>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我正在尝试在Django中进行登录身份验证.我在上方导航栏中登录并注册了按钮.
现在我需要实现的是当我登录应用程序时,将进行重定向,并且在那时会话被检查,如果会话已经开始,则登录和注册按钮消失,用户ABC按钮到达其位置.
我试图这样做,我的代码剪断了它.
{% if request.session.loggedin %}
<li><a data-toggle="modal" href="#"><b>Hello Chitrank</b></a></li>
{% else %}
<li><a data-toggle="modal" href="#signup"><b>Sign Up</b></a></li>
<li><a data-toggle="modal" href="#signin"><b>Sign In</b></a></li>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
请建议我做什么,我使用错误的方式检查会话或是否有其他方法来做到这一点然后欢迎解决方案.
我正在编写一个应用程序来跟踪2个玩家之间的一系列匹配.我正在使用Django的User模型并使用我自己的模型进行扩展UserProfile.
我将用户名存储User为steamID(例如:)76561197965801299,然后在登录时查找他们的用户名,并进行更新UserProfile.
而不是看着 76561197965801299,我想看一个用户名,在一个页面上,我想用更多好东西装饰这个用户名,所以我写了一个模板标签.
问题:
我似乎无法从我的模板标签打印unicode数据.
实际错误:
'ascii'编解码器无法对位置16中的字符u'\ u260e'进行编码:序数不在范围内(128)
通常Django不会打扰我的unicode问题(例如:我可以在管理页面中看到这个unicode对象没问题)但我从未尝试过应用模板标签,所以显然我在这里做错了.
模板/阶梯/ match_game_listing.html
{{ match.challengee|steam_name }}
Run Code Online (Sandbox Code Playgroud)
在match.challengee这种情况下是76561197971597000.
梯/ templatetags/ladder_filters.py
from django import template
from django.contrib.auth.models import User
from django.core.exceptions import ObjectDoesNotExist
from django.utils.html import mark_safe
from cafe.models import UserProfile
register = template.Library()
@register.filter()
def steam_name(name):
try:
user_obj = User.objects.get(username=name)
user_prof = UserProfile.objects.get(user_id=user_obj.id)
url = user_prof.url
handle = unicode(user_prof.handle)
avatar = user_prof.avatar
steam_string = "<a …Run Code Online (Sandbox Code Playgroud) django-templates ×10
django ×9
python ×5
django-views ×2
django-forms ×1
django-urls ×1
html ×1
if-statement ×1
python-2.7 ×1
unicode ×1
variables ×1