2010-08-03 4 views
0

그래서 장고 실용 프로젝트 튜토리얼을하고 있으며 매우 멀리왔다.django 튜토리얼이 붙어

def get_absolute_url(self): 
    return ('coltrane_entry_detail',(), {'year': self.pub_date.strftime("%Y"), 
             'month': self.pub_date.strftime("%b").lower(), 
             'day': self.pub_date.strftime("%d"), 
             'slug': self.slug }) 
get_absolute_url = models.permalink(get_absolute_url) 

은 내가 들여 쓰기 오류를 얻을 :

나는이 코드를 가지고있다.

내가 작업/weblog/url을 들여 쓰기보다 "Read more"링크를 클릭하면 항상 같은 페이지/weblog/and not/weblog/date/article에 있습니다.

URL을 프로젝트 :

from django.conf.urls.defaults import * 
from Myproject.views import * 
from django.views.generic.simple import direct_to_template 
from django.contrib import admin 
admin.autodiscover() 

urlpatterns = patterns('', 

#Coltrane Project URlpatterns: 

    (r'^search/$', 'MyProject.search.views.search'), 
    (r'^weblog/$', include('coltrane.urls')), 

URL을 콜트레인 :

from django.conf.urls.defaults import * 
from coltrane.models import Entry 

entry_info_dict = { 
'queryset': Entry.objects.all(), 
'date_field': 'pub_date', 
} 

#Coltrane Project URlpatterns: 

urlpatterns = patterns('django.views.generic.date_based', 

    (r'^$', 'archive_index', entry_info_dict, 'coltrane_entry_archive_index'), 
    (r'^(?P<year>\d{4})/$', 'archive_year', entry_info_dict, 'coltrane_entry_archive_year'), 
    (r'^(?P<year>\d{4})/(?P<month>\w{3})/$', 'archive_month', entry_info_dict, 'coltrane_entry_archive_month'), 
    (r'^(?P<year>\d{4})/(?P<month>\w{3})/(?P<day>\d{2})/$', 'archive_day', entry_info_dict, 'coltrane_entry_archive_day'), 
    (r'^(?P<year>\d{4})/(?P<month>\w{3})/(?P<day>\d{2})/(?P<slug>[-\w]+)/$', 'object_detail', entry_info_dict, 'coltrane_entry_detail'), 
) 

모델 :

당신이 자습서를 알고있는 경우 모든 파일하지 여기 경우

는, 어쩌면 당신은 오류를 알고

import datetime 

from django.contrib.auth.models import User 
from django.db import models 

from markdown import markdown 
from tagging.fields import TagField 


class Category(models.Model): 
title = models.CharField(max_length=250, help_text='Maximum 250 characters.') 
slug = models.SlugField(unique=True, help_text='This is the shortname that is created. Must be unique!') 
description = models.TextField() 

class Meta: 
    ordering = ['title'] 
    verbose_name_plural = "Categories" 

def __unicode__(self): 
    return self.title 

def get_absolute_url(self): 
    return "/categories/%s/" %self.slug 

class Entry(models.Model): 
LIVE_STATUS = 1 
DRAFT_STATUS = 2 
HIDDEN_STATUS = 3 
STATUS_CHOICES = (
    (LIVE_STATUS, 'Live'), 
    (DRAFT_STATUS, 'Draft'), 
    (HIDDEN_STATUS, 'Hidden'), 
) 
#Core Fields. 

title = models.CharField(max_length=250, help_text='Maximum 250 characters.') 
excerpt = models.TextField(blank=True, help_text='A short summary of the entry. Optional!') 
body = models.TextField() 
pub_date = models.DateTimeField(default=datetime.datetime.now) 

#Fields to store generated HTML. 

excerpt_html = models.TextField(editable=False, blank=True) 
body_html = models.TextField(editable=False, blank=True) 

#Metadata 

author = models.ForeignKey(User) 
enable_comments = models.BooleanField(default=True) 
featured = models.BooleanField(default=False) 
slug = models.SlugField(unique_for_date='pub_date') 
status = models.IntegerField(choices=STATUS_CHOICES, default=LIVE_STATUS, help_text="Only entries with live status will be publicly displayed") 

#Categorization 
categories = models.ManyToManyField(Category) 
tags = TagField(help_text="Separate tags with spaces.") 


class Meta: 
    ordering = ['pub_date'] 
    verbose_name_plural = "Entries" 

def __unicode__(self): 
    return self.title 

def save(self, force_insert=False, force_update=False): 
    self.body_html = markdown(self.body) 
    if self.excerpt: 
    self.excerpt_html = markdown(self.excerpt) 
    super(Entry, self).save(force_insert, force_update) 

def get_absolute_url(self): 
    return ('coltrane_entry_detail',(), {'year': self.pub_date.strftime("%Y"), 
             'month': self.pub_date.strftime("%b").lower(), 
             'day': self.pub_date.strftime("%d"), 
             'slug': self.slug }) 
    get_absolute_url = models.permalink(get_absolute_url) 
+2

적절한 들여 쓰기를 사용하십시오! 하나의 공간만으로는 잘못되었는지 알 수 없습니다. 따라서 IndentationError. 네 개의 공백을 사용하십시오. –

+0

당신을 다스 려하는 경우 : 데프 get_absolute_url (자동) : 리턴 ('coltrane_entry_detail' 사실 아니, 그것은 단지 하나 개의 들여 쓰기로 여기에 표시됩니다 내 진짜 코드에서 내 오류를 찾을 전에 반환 – MacPython

+0

4 공간이있다..을 : 그것은 urls.py에 있었다 : (R '^ 웹 로그/$' 대신 의 (R '^ 웹 로그 /' – MacPython

답변

0

전자 댓글, 내 오류를 발견. 제 질문을 끝내는 유일한 방법은 대답하는 것입니다.

+0

확인 나던 작품. – MacPython

관련 문제