0
我正在開發一個博客項目。現在,當我加載127.0.0.1;我看到我的主頁列出了所有創建的帖子。當我點擊其中一個帖子時,它將重定向一個頁面。該網頁的網址如:127.0.0.1/first-post。django添加基址部分
我所試圖做的是一樣,
127.0.0.1/post/first-post
我怎樣才能做到這一點?
這裏是我的urls.py文件:
from django.conf.urls import patterns, include, url
from userside.models import Post
urlpatterns = patterns('userside.views',
url(r'^$','index'),
url(r'^(?P<postslug>[-\w]+)',view ='singlePost', name='view_blog_post'),
)
這裏是我的models.py:
from django.db import models
from django.db.models import permalink
from autoslug import AutoSlugField
class Post(models.Model):
title = models.CharField(max_length = 100)
text = models.TextField()
slug = AutoSlugField(populate_from='title',unique=True)
posted = models.DateField(auto_now_add=True)
def __unicode__(self):
return self.title
@permalink
def get_absolute_url(self):
return ('view_blog_post',None, {'postslug':self.slug})
這裏是我的主要urls.py:
from django.conf.urls import patterns, include, url
urlpatterns = patterns('',
url(r'^', include('userside.urls')),
)
這裏是我的views.py:
from userside.models import Post
from django.shortcuts import render_to_response,get_object_or_404
from django.template import RequestContext
def index(request):
post_list = Post.objects.all().order_by("-posted")
return render_to_response('userside/index.html',
{'post_list':post_list},
context_instance = RequestContext(request))
def singlePost(request,postslug):
post = get_object_or_404(Post, slug=postslug)
context = {'post':post}
return render_to_response('userside/detail.html',context,context_instance = RequestContext(request))
它的工作原理!我忘了編輯模板文件中的鏈接。我編輯了index.html中的鏈接。它的效果很好。謝謝 – alix 2012-08-11 20:17:00