如何在Django模板中显示模型数据

用户名

我是Django的新手。我正在尝试使用模板在索引视图中显示来自我的Project模型的数据。我尽力构造类似于民意调查应用程序的该应用程序。我不确定自己在做什么错。我正在使用python 2.7和Django 1.8.6

这是我的网址:

from django.conf.urls import url

from . import views

app_name = 'project'
urlpatterns = [
    url(r'^$', views.IndexView.as_view(), name='index'),
    url(r'^(?P<pk>[0-9]+)/$', views.DetailView.as_view(), name='detail'),
]

这是我的模特:

import datetime
from django.db import models
from django.utils.encoding import python_2_unicode_compatible
from django.contrib.auth.models import User
from django.utils import timezone


@python_2_unicode_compatible  # only if you need to support Python 2
class Contractor(models.Model):
    #project
    name = models.CharField(max_length=50)
    address = models.CharField(max_length=100, blank=True)
    phone = models.CharField(max_length=14, blank=True)
    city = models.CharField(max_length=60, blank=True)
    state = models.CharField(max_length=2, blank=True)
    created_by = models.ForeignKey(User, related_name='Contractor_created_by')
    created_date = models.DateTimeField()
    modified_by = models.ForeignKey(User, related_name='Contractor_modified_by')
    modified_date = models.DateTimeField()

    def __str__(self):
        return self.name

@python_2_unicode_compatible  # only if you need to support Python 2
class Project(models.Model):
    name = models.CharField(max_length=50)
    jobNumber = models.CharField(max_length=8)
    shopOut = models.DateTimeField(null=True)
    shopIn = models.DateTimeField(null=True)
    delivery = models.DateTimeField(null=True)
    job1 = models.CharField(max_length=50, null=True)
    job2 = models.CharField(max_length=50, null=True)
    job3 = models.CharField(max_length=50, null=True)
    contractor = models.ForeignKey(Contractor, on_delete=models.CASCADE, default=101)
    created_by = models.ForeignKey(User, related_name='Project_created_by')
    created_date = models.DateTimeField(auto_now_add=True)
    modified_by = models.ForeignKey(User, related_name='Project_modified_by')
    modified_date = models.DateTimeField(auto_now=True)
    def __str__(self):
        return self.name
    def save(self, *args, **kwargs):
        if not self.id:
            self.created_by = User.objects.get(id=1)
            self.modified_by = User.objects.get(id=1)
            super(Project, self).save(*args, **kwargs)
            year = datetime.datetime.now().year
            self.jobNumber = '{}{:04d}'.format(year, self.id)
        self.modified_by = User.objects.get(id=1)
        super(Project, self).save(*args, **kwargs)

这是我的观点:

from django.shortcuts import get_object_or_404, render
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
from django.views import generic
from django.utils import timezone

from .models import Project

# Create your views here.
class IndexView(generic.ListView):
    model = Project
    template_name = 'project/index.html'

    def get_queryset(self):
        return Project.objects

class DetailView(generic.DetailView):
    model = Project

这是我的模板:

{% load staticfiles %}
<h1>Projects</h1>
<ul>
{% for projects in project.get_queryset %}
    in for loop
    <!-- <li><a href="{% url 'projects:detail' projects.id %}">{{ projects.name }}</a></li> -->
    <li><a href="#">Test</a></li>
{% endfor %}

</ul>
end of list

当我转到页面时,我得到一个h1项目,一个空ul和一行显示“列表结尾”的行

仍然

在你get_queryset,你应该回来Project.objects.all()

在您的模板中,您无需这样做project.get_queryset,该get_queryset方法会为您调用,并且值会与object_list<objectname>_list一起与其他参数一起传递给模板在您的情况下,对象是,Project因此也应该有一个project_list变量object_list

你可以做:

{% for project in project_list %}
    <li><a href="{% url 'projects:detail' project.id %}">{{ project.name }}</a></li>
{% endfor %}

或者:

{% for project in object_list %}
    <li><a href="{% url 'projects:detail' project.id %}">{{ project.name }}</a></li>
{% endfor %}

您可以在此处了解更多信息:https : //docs.djangoproject.com/en/1.9/ref/class-based-views/generic-display/#listview

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django - 如何在模板中显示父模型属性

来自分类Dev

如何在 Django 模板中显示模型功能

来自分类Dev

如何显示模型中的模板数据?

来自分类Dev

Django //如何在模板中显示复杂的深度数据

来自分类Dev

如何在模板中显示django类方法的数据?

来自分类Dev

如何在模板中显示父模型及其子模型

来自分类Dev

如何在Django模板中显示模型中的一个字段

来自分类Dev

重新加载页面后,如何始终在Django模板中显示模型数据?

来自分类Dev

如何在 Django 模板中显示 ImageField

来自分类Dev

如何在模板中显示数据

来自分类Dev

加载模型时如何在Ember中显示加载模板?

来自分类Dev

如何在Django模型中定义的模板中调用函数?

来自分类Dev

Django视图模板无法显示模型数据

来自分类Dev

如何在模板中显示数据库中的数据

来自分类Dev

如何从Django模型和HTML模板中获取数据

来自分类Dev

如何在django / mezzanine模板中显示上载的django ImageField?

来自分类Dev

在 Django 的模板中显示模型的计算值

来自分类Dev

Ember模型数据未显示在模板中

来自分类Dev

如何在Django中的模板中显示__str__方法?

来自分类Dev

如何在模板中使用模型数据?

来自分类Dev

无法在Django模板中传递模型数据

来自分类Dev

访问Django模板中的临时模型数据?

来自分类Dev

如何在Django模板的* linked *表中显示字段的值?

来自分类常见问题

如何在模板(django)中显示在线朋友的总数?

来自分类Dev

{{field}}如何在Django模板中显示field小部件?

来自分类Dev

如何在Django模板中显示多个视图?

来自分类Dev

如何在Django模板中显示img文件?

来自分类Dev

如何在Django模板中显示选择下拉列表值?

来自分类Dev

如何在模板(django)中显示在线朋友的总数?

Related 相关文章

  1. 1

    Django - 如何在模板中显示父模型属性

  2. 2

    如何在 Django 模板中显示模型功能

  3. 3

    如何显示模型中的模板数据?

  4. 4

    Django //如何在模板中显示复杂的深度数据

  5. 5

    如何在模板中显示django类方法的数据?

  6. 6

    如何在模板中显示父模型及其子模型

  7. 7

    如何在Django模板中显示模型中的一个字段

  8. 8

    重新加载页面后,如何始终在Django模板中显示模型数据?

  9. 9

    如何在 Django 模板中显示 ImageField

  10. 10

    如何在模板中显示数据

  11. 11

    加载模型时如何在Ember中显示加载模板?

  12. 12

    如何在Django模型中定义的模板中调用函数?

  13. 13

    Django视图模板无法显示模型数据

  14. 14

    如何在模板中显示数据库中的数据

  15. 15

    如何从Django模型和HTML模板中获取数据

  16. 16

    如何在django / mezzanine模板中显示上载的django ImageField?

  17. 17

    在 Django 的模板中显示模型的计算值

  18. 18

    Ember模型数据未显示在模板中

  19. 19

    如何在Django中的模板中显示__str__方法?

  20. 20

    如何在模板中使用模型数据?

  21. 21

    无法在Django模板中传递模型数据

  22. 22

    访问Django模板中的临时模型数据?

  23. 23

    如何在Django模板的* linked *表中显示字段的值?

  24. 24

    如何在模板(django)中显示在线朋友的总数?

  25. 25

    {{field}}如何在Django模板中显示field小部件?

  26. 26

    如何在Django模板中显示多个视图?

  27. 27

    如何在Django模板中显示img文件?

  28. 28

    如何在Django模板中显示选择下拉列表值?

  29. 29

    如何在模板(django)中显示在线朋友的总数?

热门标签

归档