这就是我想要实现的目标:
well_list.html
<thead>
<tr>
{% for item in well_info %}
<th>item</th>
{% endfor %}
</tr>
</thead>
项目/urls.py
from django.conf.urls import url, include
from django.contrib import admin
from django.views.generic import TemplateView
from django.urls import path, re_path, include
from eric_base import views
urlpatterns = [
path('contextual/', include('eric_base.urls')),
path('well_list/', views.well_list)
]
views.py
from django.shortcuts import render
from django.views.generic import View, TemplateView, ListView, DetailView, CreateView, UpdateView, DeleteView
from . import models
class WellInfoListView(ListView):
template_name = 'well_list.html'
context_object_name = 'well_info'
model = models.WellInfo
模型.py
from django.db import models
from django.urls import reverse
# Create your models here.
class WellInfo(models.Model):
api = models.CharField(max_length=100, primary_key=True)
name = models.CharField(max_length=100)
region_location = models.CharField(max_length=100)
spud_date = models.CharField(max_length=100)
well_bore = models.CharField(max_length=100)
rig_name = models.CharField(max_length=100)
status = models.CharField(max_length=100)
def get_absolute_url(self):
return reverse("")
由于我正确定义了context_object_name = 'well_info'
in views.py
,我用过{% for item in well_info %}
在 html 中,我期望至少能从模型属性中得到一些东西。但是当我运行这段代码时,我什么也没有得到。标题行就消失了,如下图所示:
我希望表头具有 models.py 中定义的属性名称,但显然它没有从中获取任何内容。为什么它没有从中获取任何属性models.py
,以及如何仅将属性名称显示为列标题?
所以我希望表头是:
Api | Name | Region Location | Spud Date | Well Bore | Rig Name | Status
没有每个键的值。