2012-03-21 2 views
0

블로그 게시물을 블로그 디렉터에게 핑할 수 있도록 블로그 게시물을 가져 오려고합니다.하지만 내가 만든 permalink 함수를 호출 할 때 항상 오류가 있습니다. 내가 googleing/stackoverflowing에서 발견 한 모든 것은 하나의 오류 또는 다른 것을 얻는다!Django permalink 블로그 앱이 작동하지 않습니다

내가 돌아 얻고 가장 일반적인 오류 :

Reverse for 'viewpost' with arguments '()' and keyword arguments '{'slug': u'site-redesign'}' not found. 

이 오류에 대한 나의 모델 :

class BlogPost(models.Model): 
    author = models.ForeignKey(User, related_name='posts') 
    title = models.CharField(max_length=200) 
    slug = models.SlugField(max_length=200) 
    ... 
    @models.permalink 
    def get_absolute_url(self): 
     return ('viewpost',(), { 'slug':self.slug}) 

내 urls.py :

urlpatterns = patterns('blog.views', 
    ... 
    (r'^post/(?P<page_slug>[a-zA-Z0-9-]+)/$', 'viewpost'), 
    ... 
) 

내가 인쇄하는 경우 : reverse ('blogPost', kwargs = { 'slug': self.slug}) 올바른 URL을 얻습니다.

내가 뭘 잘못하고있어. 당신은 알려 주시기 바랍니다 어떤 더 많은 정보가 필요하면

signals.post_save.connect(
    ping_directories(content_attr = 'body', url_attr = 'get_absolute_url'), sender = BlogPost, weak = False) 

:

내가 통해 함수를 호출하고있다.

--edit 더보기

#pages 

(r'^post/(?P<page_slug>[a-zA-Z0-9-]+)/$', 'viewpost'), 

(r'^category/(?P<category_slug>[a-zA-Z0-9-]+)/page/(?P<page_number>[0-9]+)/$', 'viewcategories'), 
(r'^category/$', 'listcategories'), 

(r'^tag/(?P<tag_slug>[a-zA-Z0-9-]+)/page/(?P<page_number>[0-9]+)/$', 'viewtag'), 
(r'^tag/$', 'listtags'), 

(r'^category/(?P<category_slug>[a-zA-Z0-9-]+)/$', 'viewcategories'), 
(r'^tag/(?P<tag_slug>[a-zA-Z0-9-]+)/$', 'viewtag'), 
(r'^comments/', include('django.contrib.comments.urls')), 

(r'^page/(?P<page_number>[0-9]+)/$', 'index'), 
(r'^$', 'index'), 
) 

과 전망 : 당신은 당신의 permlink에 url 및 슬러그의 kwargs로의 page_slug라고했습니다

def viewpost(request, page_slug): 
    blog_post = get_object_or_404(BlogPost, post_status = 'published', slug=page_slug) 
    path = settings.BLOG_PATH 

    return render_to_response("blog/detail.html", { "post": blog_post, "path":path}, context_instance=RequestContext(request)) 

답변

1

+0

난 그냥 할 것인가 : 리턴 ('viewpost'()) – Designer023

+2

'리턴 ('viewpost',(), { 'page_slug'self.slug})' – John

+0

으로 돌아옵니다 : 인수 '()'및 키워드 인수 '{'page_slug ': u'site-redesign'} '을 (를) 찾을 수없는'viewpost '에 대해 역순으로 사용하십시오. – Designer023

0

는 사실을 끕니다 내 get_absolute_url을 호출하는 메소드는 추가 콜백이 필요하므로 잘못 읽었습니다. 혼란에 사과드립니다! 잘못된 코드 :

signals.post_save.connect(ping_directories(content_attr = 'body', url_attr = 'get_absolute_url', feed_url_fun=lambda x: 'http://example.com/feed/address/here/'), sender = BlogPost, weak = False)