我有这个视图功能:
def forum(request):
qs = Forum.objects.all()
try:
f = Forum.objects.filter().order_by('-id')[0] <------------problem
return render_to_response("forum.html",{'qs':qs,'f':f},context_instance=RequestContext(request))
except Forum.DoesNotExist or IndexError:
return render_to_response("forum.html",{'qs':qs},context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
但它仍然为上面的问题行提供以下错误:
IndexError: list index out of range
Run Code Online (Sandbox Code Playgroud)
我的代码好吗?我能以这种方式捕获多个例外吗?
我有一个简单的问题:
我{{ objects.paginator.num_pages }}在模板中有这个,它给了我包含项目的页面总数.
现在我想显示这样的页码
1 | 2 | 3 | 4 | 5
Run Code Online (Sandbox Code Playgroud)
要做到这一点,我需要做到forloop直到the num_pages.喜欢for i to num_pages.
怎么可能在Django模板?我正在阅读一些片段,但对我来说有点难以理解.
我真的很困惑,不知道它对我有什么要求.
这是我的简单功能
def confirm_abo(request):
try:
abo = Abonnement.objects.get(id=int(request.GET.get('abocid')))
abo.status = 1
abo.save()
link = "http://127.0.0.1:8000/delete_link/?abocid=" + str(abo.id)
subject = "test subject"
message = "test message" + link
send_mail(subject, message, 'info@test.com', [abo.email], fail_silently=False)
return render(request,'abo_confirm.html',{'abo':abo,'abo_success':'yes'})
except:
return render(request,'abo_confirm.html',{'abo_success':''})#<-- problem
Run Code Online (Sandbox Code Playgroud)
我正在进入最后一行
AssertionError at /confirm_abo/ No exception supplied
Run Code Online (Sandbox Code Playgroud)
错误.
我在django1.4和python 2.7.它一直工作到现在没有任何问题..
我究竟做错了什么?
我有
logindata = {
'username': 'me',
'password': 'blbla'
}
payload = {'from':'me', 'lang':'en', 'url':csv_url}
headers = {
'User-Agent': 'Mozilla/5.0'
}
api_url = 'http://dev.mypage.com/admin/app/import/'
with requests.Session() as s:
s.post(api_url, data=json.dumps(logindata), headers=headers)
print s.headers
# An authorised request.
r = s.get(api_url, params=payload, headers=headers)
Run Code Online (Sandbox Code Playgroud)
我被拒绝但是因为403被禁止了.我打印了标题,我得到:
..'User-Agent': 'python-requests/2.2.1 CPython/2.7.5 Windows/7'..
Run Code Online (Sandbox Code Playgroud)
为什么我会'User-Agent': 'Mozilla/5.0'被覆盖?我在这里想念的是什么?
我有模型:
class Topiccenter(models.Model):
name = models.TextField()
def sumentries(self):
return self.tc_books.count() + self.tc_journals.count()
class Book(models.Model):
name = models.TextField()
tc = models.ForeignKey(Topiccenter,related_name="tc_books")
class Journal(models.Model):
name = models.TextField()
tc = models.ForeignKey(Topiccenter,related_name="tc_journals")
Run Code Online (Sandbox Code Playgroud)
我正在尝试做这样的事情:
Topiccenter.objects.annotate(tc_books=Sum('tc_books'),
journals=Sum('tc_journals')
).extra(
select={'sum_entries':'tc_books+journals'},
order_by=('sum_entries',)
)
Run Code Online (Sandbox Code Playgroud)
但它是说:The annotation 'tc_books' conflicts with a field on the model.
min函数究竟是如何为python中的列表工作的?
例如,
num = [1,2,3,4,[1,2,3]]
num2 = [1,2,3,4,5]
min(num,num2)
Run Code Online (Sandbox Code Playgroud)
给出num2了结果.比较值是基于还是基于长度?
我想在几秒钟后自动隐藏Boostrap工具提示.
<input type="text" title="" data-placement="bottom" style="width:200px" data-toggle="tooltip" autocomplete="off" data-provide="typeahead" class="form-control Waring" name="medicine_name" id="medicine_name" data-original-title="Please Enter Valid medicine name">
Run Code Online (Sandbox Code Playgroud) html javascript twitter-bootstrap-tooltip twitter-bootstrap-3
我想在每次点击浏览器图标时将Listener添加到触发的事件中.我还有一个弹出窗口,单击此图标即可出现.
我试过chrome.browserAction.onClicked.addListener()但没有把它解雇,后来我看到医生说:
Fired when a browser action icon is clicked.
This event will not fire if the browser action has a popup.
Run Code Online (Sandbox Code Playgroud)
所以,我有弹出窗口,所以这个监听器不起作用.在我的案例中,我可以采用哪种解决方法将Listener附加到图标?
我正在使用sql,H2,我正在努力使Usertable的ID为auto_incremented.我尝试在H2 sql界面中的所有sql命令,没有工作.
alter table user alter column int not null auto_increment;
Run Code Online (Sandbox Code Playgroud)
这个常见的甚至不起作用.是否有任何JPA for auto_incement的注释可能?
非常感谢
我多次问这个问题,因为我没有收到任何适用的帮助.
我的问题是,我不知道如何将查询结果作为ajax响应返回到模板.
我这样做了:
if request.path == "/sort/":
sortid = request.POST.get('sortid')
locs = Location.objects.order_by(sortid)
if request.is_ajax():
return HttpResponse(locs,mimetype="application/json")
Run Code Online (Sandbox Code Playgroud)
然后我的ajax done函数执行此操作:
}).done(function(data){
$('.sortierennach').html(data);
});
Run Code Online (Sandbox Code Playgroud)
现在发生的是它只是替换了内容.sortierennach,它不会渲染django dic,所以我可以这样做:
{% for loc in locs %}
{{loc.name}}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我...非常感谢
python ×7
django ×5
javascript ×3
python-2.7 ×2
ajax ×1
exception ×1
html ×1
jpa-2.0 ×1
json ×1
pagination ×1
sql ×1