反向数据库信息django(reverse database information django)

编程入门 行业动态 更新时间:2024-10-22 07:18:52
反向数据库信息django(reverse database information django)

我想要添加最后5个项目。 我真的不知道该怎么做。 我尝试了reverse()函数。 限制我使用的查询[:5]

额外的问题:请求上下文是什么? 我不懂djangodocs

模型:

class Topic(models.Model): user = models.ForeignKey(User) postit = models.TextField(max_length=300) comment = models.TextField(max_length=300) createdat = models.DateTimeField(default=timezone.now) def timer(self): return self.createdat def who(self): return self.user def __str__(self): # __unicode__ on Python 2 return self.postit

视图:

def chat(request): if request.method == 'POST': form = StoryForm(request.POST) if form.is_valid(): storyi = form.save(commit=False) storyi.user = request.user storyi.save() return HttpResponseRedirect('/chat/') else: form=StoryForm() try: p = Topic.objects.all()[:5].reverse() ) except ObjectDoesNotExist: p= "don't try it again" return render(request,'chat/chat.html',{'form': form, 'p':p})

I am trying to get last 5 items added. I really don't know how to do this. I tried the reverse() function . to limit the query i used [:5]

extra question: whats the request context for? i didn't understand djangodocs

model:

class Topic(models.Model): user = models.ForeignKey(User) postit = models.TextField(max_length=300) comment = models.TextField(max_length=300) createdat = models.DateTimeField(default=timezone.now) def timer(self): return self.createdat def who(self): return self.user def __str__(self): # __unicode__ on Python 2 return self.postit

View:

def chat(request): if request.method == 'POST': form = StoryForm(request.POST) if form.is_valid(): storyi = form.save(commit=False) storyi.user = request.user storyi.save() return HttpResponseRedirect('/chat/') else: form=StoryForm() try: p = Topic.objects.all()[:5].reverse() ) except ObjectDoesNotExist: p= "don't try it again" return render(request,'chat/chat.html',{'form': form, 'p':p})

最满意答案

如果最后一个添加你的意思是列表中的最后一个,它应该是[-5:]。 例如:

In [22]: a =[1,2,3,4,5,6,7,8,9,10] In [23]: a[:5] Out[23]: [1, 2, 3, 4, 5] In [26]: a[-5:] Out[26]: [6, 7, 8, 9, 10]

你对RequestContext有什么兴趣? RequestContext将返回特定值作为响应。 例:

def my_view(request): # View code here... t = loader.get_template('myapp/index.html') c = RequestContext(request, {'foo': 'bar'}) return HttpResponse(t.render(c))

在这里,您返回带有渲染值的'index.html'模板{'foo':''bar}

更新:在您的情况下,您可以像这样使用RequestContext:

return render(request,'chat / chat.html',{'form':form,'p':p})

......

template = loader.get_template('chat/chat.html') c=RequestContext(request, {'form': form, 'p':p}) return HttpResponse(template.render(c))

If last added you mean last in list, it should be [-5:]. for example:

In [22]: a =[1,2,3,4,5,6,7,8,9,10] In [23]: a[:5] Out[23]: [1, 2, 3, 4, 5] In [26]: a[-5:] Out[26]: [6, 7, 8, 9, 10]

What exactly are you interest in RequestContext? RequestContext is to return specific values in response. Example:

def my_view(request): # View code here... t = loader.get_template('myapp/index.html') c = RequestContext(request, {'foo': 'bar'}) return HttpResponse(t.render(c))

Here you return 'index.html' template with rendered values {'foo':''bar}

UPDATE: In your case you can use RequestContext like this:

return render(request,'chat/chat.html',{'form': form, 'p':p})

......

template = loader.get_template('chat/chat.html') c=RequestContext(request, {'form': form, 'p':p}) return HttpResponse(template.render(c))

更多推荐

本文发布于:2023-08-05 21:41:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1439280.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据库   信息   django   information   database

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!