Я застрял в использовании django_tables2. я намеревался отобразить простую таблицу, используя набор запросов. данные в модели отображаются в djangoAdmin.
my model.py
class PM03(models.Model):
date_done=models.DateField()
ticket=models.CharField(unique=True,max_length=100)
site_code=models.ForeignKey(Sites,on_delete=models.PROTECT)
site_name=models.ForeignKey(Sites,on_delete=models.PROTECT,related_name='pm_site_name',to_field='site_name')
spare_replaced_1=models.ForeignKey(Asset,related_name='pm_spare_replaced_1',on_delete=models.CASCADE,blank=True,null=True)
spare_replaced_2=models.ForeignKey(Asset,related_name='pm_spare_replaced_2',on_delete=models.CASCADE,blank=True,null=True)
spare_replaced_3=models.ForeignKey(Asset,related_name='pm_spare_replaced_3',on_delete=models.CASCADE,blank=True,null=True)
rehabilitation=models.TextField(null=True,blank=True,help_text="indicate work done")
saved_by=models.ForeignKey(User,on_delete=models.PROTECT)
def __str__(self):
return self.ticket,self.site_name
class Meta:
verbose_name='PM03'
verbose_name_plural='PM03'
my view.py
table_class = Asset_table
queryset = Work_Orders_CR.objects.all()
template_name = "test.html"
my tables.py
class Meta:
model=Work_Orders_CR
template_name = "django_tables2/bootstrap4.html"
моя среда трассировки:
Request Method: GET
Request URL: http://localhost:8000/test
Django Version: 2.2.6
Python Version: 3.7.3
Installed Applications:
['IENG_MIS',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'management_information_system',
'bootstrap_datepicker_plus',
'widget_tweaks',
'bootstrap4',
'django_tables2',
'django_datatables_view',
'django_countries',
'django_filters',
'multiselectfield',
'bootstrap3']
Installed Middleware:
['django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Ошибка шаблона:
In template C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\IENG_MIS\templates\test.html, error at line 111
'NoneType' object is not iterable
101 : <div class="row" style="margin-top: 1em; margin-left: 1mm">
102 :
103 :
104 : <a class="btn btn-primary" href="{% url 'admin:index' %}">Inventory Manager</a>
105 :
106 : </div>
107 : {% block maincontent %}
108 :
109 : <div class="bg-light table-resposive-lg">
110 : <table id="asset_table" style="width:100%;" class="table table-hover sortable">
111 : {%render_table table %}
112 :
113 : </table>
114 : </div>
115 : </div>
116 : {% endblock %}
117 :
118 : </div>
119 :
120 :
121 :
Трассировка:
File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\core\handlers\exception.py" in inner
34. response = get_response(request)
File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\core\handlers\base.py" in _get_response
145. response = self.process_exception_by_middleware(e, request)
File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\core\handlers\base.py" in _get_response
143. response = response.render()
File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\template\response.py" in render
106. self.content = self.rendered_content
File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\template\response.py" in rendered_content
83. content = template.render(context, self._request)
File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\template\backends\django.py" in render
61. return self.template.render(context)
File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\template\base.py" in render
171. return self._render(context)
File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\template\base.py" in _render
163. return self.nodelist.render(context)
File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\template\base.py" in render
937. bit = node.render_annotated(context)
File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\template\base.py" in render_annotated
904. return self.render(context)
File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\template\loader_tags.py" in render
53. result = self.nodelist.render(context)
File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\template\base.py" in render
937. bit = node.render_annotated(context)
File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\template\base.py" in render_annotated
904. return self.render(context)
File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django_tables2\templatetags\django_tables2.py" in render
159. template = select_template(template_name)
File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\template\loader.py" in select_template
39. for template_name in template_name_list:
Exception Type: TypeError at /test
Exception Value: 'NoneType' object is not iterable