Django days_view 没有 return HttpResponse 对象。它 return 改为 None

Django days_view didn't return an HttpResponse object. It returned None instead

根据工作日,我希望页面通过识别系统日期显示星期一、星期二、星期三模板等。首先,周一、周二、周三通过管理页面更新,并显示相应的 html 页面。以下是片段,但似乎有一些错误,因为它正在返回

"didn't return an HttpResponse object. It returned None instead." 

例如天页,

if today is Monday, it should show monday.html
if today is Tuesday, it should show tuesday.html by recognizing system dates.

urls.py

urlpatterns = patterns('',
    url(r'^days/$', views.days_view, name='days'),)

views.py

from datetime import date
from django.shortcuts import render
def days_view(request):
    abc = datetime.datetime.today().weekday()
    if abc == '1':
        return render(request, 'app/monday.html')
    elif abc == '2':
        return render(request, 'app/tuesday.html')
    else:
        return HttpResponse('<h1>Page was not found</h1>')

models.py(周二、周三...与周一相同)

class Monday(models.Model):
    author = models.ForeignKey(User, null=True, blank=True, editable=False)
    title = models.CharField(max_length=300)
    text = models.TextField()
    created_date = models.DateTimeField(
            default=timezone.now)
    published_date = models.DateTimeField(
            blank=True, null=True, default=timezone.now)

def publish(self):
    self.published_date = timezone.now()
    self.save()

def __str__(self):
    return self.title

Monday.html

  {% for monday in mondays %}
  <td><h5>{{ monday.title }}</h5></td>
  <td><h5>{{ monday.text }}</h5></td>

也许我的提示并没有帮助您找出问题所在。错误信息再清楚不过了。如果不满足任何条件,你 days_view 没有 return 任何东西。

编辑:

我看到你编辑了你的问题。 google 对于 which day of week given a date python.

的解决方案几乎是微不足道的

重新编辑:

要 return 上下文中的模型对象,您需要:

return render(request, 'app/monday.html', context={'monday': monday_obj})

重新编辑:

您不能比较整数和字符:if abc == '1':。你需要 if abc == 1:.