【问题标题】:Django days_view didn't return an HttpResponse object. It returned None insteadDjango days_view 没有返回 HttpResponse 对象。它返回 None 而不是
【发布时间】:2016-01-27 04:21:17
【问题描述】:

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

"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

星期一.html

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

【问题讨论】:

  • 如果abc 不是星期一或星期二,你的函数days_view 会返回什么?
  • 你想做什么?您没有在上下文中发送mondaystuesdays 等。 for 循环永远不会被渲染。此外,datetime.datetime.today() 不会返回星期几。

标签: python django django-views django-urls


【解决方案1】:

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

编辑:

我看到你编辑了你的问题。在which day of week given a date python 上用谷歌搜索解决方案几乎是微不足道的。

重新编辑:

要在您需要的上下文中返回模型对象:

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

重新编辑:

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

【讨论】:

    猜你喜欢
    • 2019-10-13
    • 2017-01-25
    • 2018-09-14
    • 2020-04-17
    • 1970-01-01
    • 2019-06-12
    • 2016-08-08
    • 2020-06-26
    相关资源
    最近更新 更多