多年来一直坚持这一点。目前正在学习 Django 并在其他网站上做了一些工作。开始构建我自己的网站并被视图/ URL 卡住。
我已经构建了一个名为“博客”的应用程序,我想在其中显示新闻帖子。
到目前为止,我已将所有博客项目加载到工作正常的模板中。但是,当我尝试单击“阅读更多”时,该页面不会进入帖子自己的页面。但是,它显示将要加载的页面的位置会告诉您它将加载正确的 URL。所以它通过我想要的方式拉动蛞蝓,但是当您单击按钮时,它只会停留在同一页面上。
如果我将博客文章加载到主页上,我会设法让它完美运行。但是我希望它们加载到 /blog/ 上,显然我不希望它成为我的主页。
我已阅读所有文档,它与我一直遵循的教程略有不同。无论如何,这是我的一些代码,真的希望有人能帮助我!
from django.http import HttpResponse
from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext
from blog.models import Blog, NewsPost
def blog_index(request):
blogs = Blog.objects.filter(active=True)
return render_to_response('blog/index.html', {
'blogs':blogs,
}, context_instance=RequestContext(request))
def blog(request, slug):
blog = get_object_or_404(Blog, active=True, slug=slug)
return render_to_response('blog/blog_post.html', {
'blogs': blogs
}, context_instance=RequestContext(request))
url(r'blog/', 'blog.views.blog_index', name="blog_index"),
url(r'blog/(?P<slug>[-\w]+)/$', 'blog.views.blog', name="blog"),
//模型
class Blog(TimeStampedActivate):
title = models.CharField(max_length=255, help_text="Can be anything up to 255 character")
slug = models.SlugField()
description = models.TextField(blank=True, help_text="Give a short description of the news post")
content = models.TextField(blank=True, help_text="This is the main content for the news post")
user = models.ForeignKey(User, related_name="blog")
def __unicode__(self):
return self.title
@models.permalink
def get_absolute_url(self):
return ('blog', (), {
'slug': self.slug
})
谢谢,
乔什