2017-09-21 94 views
1

當我嘗試保存在使用過程中的步驟,我得到一個錯誤 海峽返回非字符串(類型NoneType)__str__返回非字符串(類型NoneType)

,你可以下載當我嘗試使用下面的網址

step page details

截圖保存:

error page

我的代碼是

URL模式:

​​

models.py:

class Course(models.Model): 
    created_at = models.DateTimeField(auto_now_add=True) 
    title = models.CharField(max_length=255) 
    description = models.TextField() 

    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: 
      ordering = ['order', ] 


     def __str__(self): 
      self.title 

views.py:

def step_details(request, course_pk, step_pk): 
    step = get_object_or_404(Step, course_id = course_pk, pk=step_pk) 
    return render(request, 'courses/step_details.html', {'step':step}) 

step_details.html:

{% extends "layout.html"%} 


{% block title%} {{step.title}} - {{ step.course.title }} {% endblock title %} 

{% block content %} 
<article> 
<h2> {{ step.course.title }} </h2> 
{{ step.description }} 
{{ step.content|linebreaks }} 
{{ step.course.created_at }} 

{##} 
{# <section>#} 
{#  {% for step in course.step_set.all %}#} 
{#  <h3> {{ step.title}}</h3>#} 
{#  {{step.description}}#} 
{#  {% endfor %}#} 
{# </section>#} 
</article> 
{% endblock %} 

謝謝...

回答

3

您的縮進是錯誤的,你寫了一個類的類中

class Course(models.Model): 
    created_at = models.DateTimeField(auto_now_add=True) 
    title = models.CharField(max_length=255) 
    description = models.TextField() 

    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: 
     ordering = ['order', ] 


    def __str__(self): 
     return self.title 
+1

不是'''__str__'' '應該'''返回'''? – Bestasttung

+0

@Exprator 謝謝你的迴應。 我正在學習目的以下教程。 下面是他們如何配置步驟過程的屏幕截圖。 類Meta寫入類步驟。 我認爲這是如何實現的元類模型.. 如果我錯過了什麼?你能詳細說明.. 鏈路配置的圖片(從他的教程) [step_meta](HTTPS ://1drv.ms/i/s!AqeHwFc2iLKooFALYmucgft0RaS5) __str__正在返回self.tite .. – user3484925

相關問題