关键词:
【中文标题】如何在我的 Django 博客中获取上一篇和下一篇文章?【英文标题】:How to get the previous and next post in my Django blog? 【发布时间】:2015-06-26 10:07:40 【问题描述】:我知道 Django 有 get_previous_by_FOO 和 get_next_by_FOO 方法,但我不知道如何在我的模板和视图中使用它们。所以,请帮助我使这两种方法适用于我的项目。
我正在运行 Django1.7
和 Python2.7
,我的应用名称是 blog
这是我对应的文件:
blog/views.py
def view_post(request, slug):
post = get_object_or_404(Post, slug=slug)
return render_to_response('blog/blog_post.html',
'post':post,
,
context_instance=RequestContext(request))
class PublishedPostMixin(object):
def get_queryset(self):
return self.model.objects.live()
class PostDetailView(PublishedPostMixin,DetailView):
model = Post
blog/models.py
class Post(models.Model):
created_at = models.DateTimeField(auto_now_add=True, editable=False)
updated_at = models.DateTimeField(auto_now=True, editable=False)
title = models.CharField(max_length=255)
slug = models.SlugField(max_length=255,unique=True)
content = MarkdownField()
published = models.BooleanField(default=True)
author = models.ForeignKey(User, related_name="posts")
tags = models.ManyToManyField(Tag)
class Meta:
ordering = ["-created_at", "title"]
def __unicode__(self):
return self.title
def save(self, *args, ** kwargs):
if not self.slug:
self.slug = slugify(self.title) #title become the slug
super(Post, self).save(*args,**kwargs)
@models.permalink
def get_absolute_url(self):
return ("blog:detail",(),'slug':self.slug
)
blog/urls.py
urlpatterns = patterns('',
url(r"^(?P<slug>[\w-]+)/$",view_post, name="detail"),
)
模板
<p>
post.content|markdown
</p>
<ul class="pager">
<li class="previous">
<a href="post.get_previous_by_created_at">← Previous Posts</a>
</li>
<li class="next">
<a href="post.get_next_by_created_at">Next Posts →</a>
</li>
</ul>
【问题讨论】:
那么,会发生什么? href 字段是否为空? href 字段像这样localhost:8000/blog/current_post/next_or_previous_post 获得下一篇/上一篇文章的倾斜度 【参考方案1】:最后我通过在模板中引入 url 标签解决了这个问题。这是我修改后的模板。
% load url from future %
<ul class="pager">
% if post.get_next_by_created_at %
<li class="previous">
<a href="% url 'blog:detail' post.get_next_by_created_at.slug %">← Previous Post</a>
</li>
% endif %
% if post.get_previous_by_created_at %
<li class="next">
<a href="% url 'blog:detail' post.get_previous_by_created_at.slug %">Next Post →</a>
</li>
% endif %
</ul>
【讨论】:
对于 Django 1.11 % load url from future % 不再需要。wordpress 如何在子页面中导航上一页和下一页
】wordpress如何在子页面中导航上一页和下一页【英文标题】:wordpresshowtonavigatepreviouspageandnextpagewithinthechildpages【发布时间】:2011-06-0223:04:59【问题描述】:我目前正在使用plugin下一页将上一页下一页链接添加到我的wordpress网站... 查看详情
url';s到类别中的下一篇和上一篇文章
ThissnippetshowsyouhowtogetpreviousandnextpostincategoryURL.<!--prevpostincategory--> <?php$prev=get_permalink(get_adjacent_post(false,'',false)); if($prev!=get_permalink()){?><aid="navi-left"href="<?phpecho$prev;?>">&... 查看详情
如何在wordpress中获取下一个/上一个帖子的href和标题
】如何在wordpress中获取下一个/上一个帖子的href和标题【英文标题】:howtogetnext/previousposthrefsandtitlesinwordpress【发布时间】:2012-07-0723:41:18【问题描述】:这是关于单个帖子的视图。我正在尝试像这样设置上一篇和下一篇博文的... 查看详情
Rails:我的显示视图中的“下一篇文章”和“上一篇文章”链接,如何?
...的显示视图中的“下一篇文章”和“上一篇文章”链接,如何?【英文标题】:Rails:"Nextpost"and"Previouspost"linksinmyshowview,howto?【发布时间】:2009-08-1403:54:28【问题描述】:我是Rails的新手...微笑在我的博客应用程序... 查看详情
如何创建具有上一页和下一页预览的 ViewPager,并从预览中缩放居中
】如何创建具有上一页和下一页预览的ViewPager,并从预览中缩放居中【英文标题】:HowcanicreateViewPagerwithpreviousandnextpagepreview,andcentredonezoomedfrompreview【发布时间】:2016-05-3005:56:56【问题描述】:viewPager.setClipToPadding(false);viewPagerMus... 查看详情
如何获取sql查询当前数据上一条和下一条的记录?
参考技术A方法一:查询上一条记录的SQL语句(如果有其他的查询条件记得加上other_conditions以免出现不必要的错误):1select*fromtable_awhereid=(selectidfromtable_awhereid<$id[andother_conditions]orderbyiddesclimit1)[andother_conditions];查询下一条记录... 查看详情
asp中如何读取当前记录的上一条和下一条记录
select*fromabcwhereid=555asp如何获取当前555的上一条记录和下一条记录上一条记录的话,必须先设定排序方式为逆序的,读取最近一条小于现在这个ID的。下一条记录的话,必须先设定排序方式为顺序的,读取最近一条大于现在这个ID... 查看详情
Symfony,上一个和下一个链接
...时需要显示第1条和第3条(上一条和下一条)的链接知道如何有效地做到这一点吗?提前致谢【问题讨论】:【参考方案1】:我能给出的最好的提示是查询日期。所以 查看详情
mysql获取上一条和下一条记录id
】mysql获取上一条和下一条记录id【英文标题】:mysqlgetpreviousandnextrecordid【发布时间】:2012-08-1606:11:15【问题描述】:我正在尝试创建一个“上一个”和一个“下一个”按钮,显示1条上一条记录和1条即将到来的下一条记录,由sq... 查看详情
实施上一篇/下一篇
...发布时间】:2012-10-0610:34:14【问题描述】:我正在从网上获取一些文章。我将它们加载到数组中并将它们传递给DetailViewController,我有2个按钮-与Mail一样,按^即可转到下一篇文章。现在我通过使用对象获取该数组的下一个对象来... 查看详情
我的个人博客网站上线啦-
传送门:http://www.loger.xyz/ 经过三个月的偷懒,终于把第一版个人博客放到服务器上了!lblog v1.0:首发,目前前台只能访问博客,分页,上一页,下一页,上一篇博客,下一篇博客!预告:v2.0,全文检索功能上线! 博客... 查看详情
如何在 django 中 html 格式化我的博客文章?
】如何在django中html格式化我的博客文章?【英文标题】:HowdoIhtmlformatmyblogpostindjango?【发布时间】:2020-12-0600:43:51【问题描述】:所以我想直接从管理页面制作一篇带有HTML格式的博客文章。例如,在models.py中,您会看到描述是... 查看详情
thinkphp如何获取当前文章的上一篇下一篇?求详解???
给楼主提供一下思路,这个其实不是很难的正常你文章对应的索引为ID,你查询的时候应该是用的$model->where('id='.**)->find();其实就是在这你只需要把id减一就是上一篇,加一就是下一篇嘛大概思路如下,手写的没测试自己... 查看详情
idea2021版本添加上一步和下一步操作到工具栏
目录一、上一步和下一步操作添加到工具栏二、上一步和下一步快捷键一、上一步和下一步操作添加到工具栏1、【File】—>【Settings】—>【Appearance&Behavior】—>【MenusandToolbars】—>【NavigationBarToolbar】—>【ToolbarRunAct... 查看详情
具有上一页和下一页边界的 ViewPager
】具有上一页和下一页边界的ViewPager【英文标题】:ViewPagerwithpreviousandnextpageboundaries【发布时间】:2012-12-0413:48:34【问题描述】:我正在设计一个包含多个页面的视图。我希望上一页和下一页的边缘如下所示,并实现两指滑动以... 查看详情
phpwordpress|自定义上一页和下一页链接(代码片段)
sql如何获取上一条..下一条..首尾记录...
...一个ID值,要取该ID对应记录的上一条或下一条记录,语句该如何编写.....另如何取首尾记录...参考技术A获得上一条的id:selectmax(id)asidfrom[表]whereid<"[你的要查的id]"orderby[.....]获得下一条的id:selectmin(id)asidfrom[表]wherei... 查看详情
将类添加到wordpress中的上一篇文章和下一篇文章中
add_filter('next_posts_link_attributes','posts_link_attributes');add_filter('previous_posts_link_attributes','posts_link_attributes'); functionposts_link_attributes(){ return'class="styled-button"';} 查看详情