Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialDongyun Cho
2,256 PointsTab Error: inconsistent use of tabs and spaces in indentations. SUBJECT
I did exactly same code with teacher's. But I got an error called Tab Error: inconsistent use of tabs and spaces in indentations. problem code is this one.
subject = models.CharField(max_length=100)
from django.core.urlresolvers import reverse
from django.db import models
from django.contrib.auth.models import User
class Course(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
title = models.CharField(max_length=255)
description = models.TextField()
teacher = models.ForeignKey(User)
subject = models.CharField(max_length=100)
def __str__(self):
return self.title
class Step(models.Model):
title = models.CharField(max_length=255)
description = models.TextField()
order = models.IntegerField(default=0)
course = models.ForeignKey(Course)
class Meta:
abstract = True
ordering = ['order',]
def __str__(self):
return self.title
class Text(Step):
content = models.TextField(blank=True, default='')
def get_absolute_url(self):
return reverse('courses:text', kwargs={
'course_pk': self.course_id,
'step_pk': self.id
})
class Quiz(Step):
total_questions = models.IntegerField(default=4)
class Meta:
verbose_name_plural = "Quizzes"
def get_absolute_url(self):
return reverse('courses:quiz', kwargs={
'course_pk': self.course_id,
'step_pk': self.id
})
class Question(models.Model):
quiz = models.ForeignKey(Quiz)
order = models.IntegerField(default=0)
prompt = models.TextField()
class Meta:
ordering = ['order',]
def get_absolute_url(self):
return self.quiz.get_absolute_url()
def __str__(self):
return self.prompt
class MultipleChoiceQuestion(Question):
shuffle_answers = models.BooleanField(default=False)
class TrueFalseQuestion(Question):
pass
class Answer(models.Model):
question = models.ForeignKey(Question)
order = models.IntegerField(default=0)
text = models.CharField(max_length=255)
correct = models.BooleanField(default=False)
class Meta:
ordering = ['order',]
def __str__(self):
return self.text
Why???
1 Answer
Chris Freeman
Treehouse Moderator 68,454 PointsWhy tabs and spaces may look aligned in an editor, it throws off the intention check if they are used interchangeably in the same code block.
class Course(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
title = models.CharField(max_length=255)
description = models.TextField()
teacher = models.ForeignKey(User)
subject = models.CharField(max_length=100) # <--- replace leading TAB with spaces
# <--- replace leading TAB with spaces