Django应用程序显示无结果
我正在开发一个名为StartTheDark的应用程序,它来自教程django fromGroundUp。 我刚刚开始学习教程,在html上显示结果有困难 假设应用程序显示事件的描述。事件的创建者、发布时间以及我键入链接的时间。没什么可显示的 我花了几个小时排除故障,到目前为止,我了解到问题不在于我的html表单,也不在于我的URL,因为我做了一些测试。我认为它将models.py的结果输入到我的views.py并执行它 我的models.py是:Django应用程序显示无结果,django,Django,我正在开发一个名为StartTheDark的应用程序,它来自教程django fromGroundUp。 我刚刚开始学习教程,在html上显示结果有困难 假设应用程序显示事件的描述。事件的创建者、发布时间以及我键入链接的时间。没什么可显示的 我花了几个小时排除故障,到目前为止,我了解到问题不在于我的html表单,也不在于我的URL,因为我做了一些测试。我认为它将models.py的结果输入到我的views.py并执行它 我的models.py是: from django.db import mo
from django.db import models
from datetime import datetime, timedelta
from django.contrib.auth.models import User
from django.db.models.query import QuerySet
class Event(models.Model):
description = models.TextField()
creation_date = models.DateTimeField(default = datetime.now)
start_date = models.DateTimeField(null=True, blank= True)
creator = models.ForeignKey(User , related_name = 'event_creator_set')
attendees = models.ManyToManyField(User , through = "Attendance")
latest = models.BooleanField(default=True)
def __unicode__(self):
return self.description
def save(self, **kwargs):
now = datetime.now()
start = datetime.min.replace(year = now.year , month=now.month,day=now.day)
end = (start + timedelta(days=1)) - timedelta.resolution
Event.objects.filter(latest=True, creator=self.creator).filter(creation_date__range=(start,end)).update(latest=False)
super(Event,self).save(**kwargs)
class Attendance(models.Model):
user = models.ForeignKey(User)
event = models.ForeignKey(Event)
registration_date = models.DateTimeField(default=datetime.now)
def __unicode__(self):
return "%s is attending %s" %(self.user.username,self.event)
我的观点
from events.models import Event
from django.shortcuts import render_to_response
from django.template import RequestContext
def tonight(request):
events = Event.objects.filter(latest=True)
return render_to_response('events/tonight.html',{'events':events},context_instance = RequestContext(request))
我的今晚.html
{% if events %}
<ul>
{{events.description}}
{{events.start_date}}
{{events.creator}}
</ul>
{% endif %}
我的主要工作
from django.conf.urls import patterns, include, url
from django.contrib import admin
from django.conf import settings
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.conf.urls.static import static
# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^events/',include('events.urls')),
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += staticfiles_urlpatterns()
其他一些型号
from django.db import models
from django.contrib import admin
class student(models.Model):
First_name = models.CharField(max_length=30)
Last_name = models.CharField(max_length=30)
Age = models.BigIntegerField()
Body = models.TextField()
def __unicode__(self):
return self.First_name
这里是一个查询集。参考您需要迭代其中的对象。像这样编辑模板代码
{% if events %}
{% for each_event in events %}
<ul>
{{each_event.description}}
{{each_event.start_date}}
{{each_event.creator}}
</ul>
{% endfor %}
{% endif %}
{%if events%}
{events%}中每个_事件的%
{{each_event.description}
{{each_event.start_date}
{{each_event.creator}
{%endfor%}
{%endif%}
因为这是一个查询集。“我需要经常重复它吗?”阿鲁姆里斯。每当queryset被传递到模板时,它都会迭代以获取其中的对象。那也是一个查询集吗?是的。参考我答案中的链接。使用.filter()
或.all()
获取的每个对象列表都是一个查询集。视图中的def unicode必须位于模型中。我看到了那个错误。多谢各位@catherine@catherine我会很快给你发送我的应用程序,你有空的时候可以帮我。你说你要成为一名社会作家?你所说的社会权威是什么意思?感谢您帮助我:]通过facebook、twitter、谷歌等网站登录/注册
{% if events %}
{% for each_event in events %}
<ul>
{{each_event.description}}
{{each_event.start_date}}
{{each_event.creator}}
</ul>
{% endfor %}
{% endif %}