Итак ... через несколько дней:
Мне удалось проверить мои urls.py и views.py -
Views.py:
from django.views.generic import ListView, DetailView,CreateView
from Organisation.models import Organisation
def index(request):
return render(request, 'index.html')
class OrganisationList(ListView):
template_name = 'organisation_list'
model = Organisation
context_object_name ='organisation_list'
class OrganisationDetail(DetailView):
model = Organisation
context_object_name ='organisation_detail'
с urls.py:
from django.urls import path
from Organisation.views import OrganisationList,OrganisationDetail,OrganisationCreate
from django.conf.urls.static import static
app_name ='Organisation'
from .import views
urlpatterns = [
path('', views.index, name='index'),
path('list/', OrganisationList.as_view()),
path('create/', OrganisationCreate.as_view()),
path('details/<uuid:pk>', OrganisationDetail.as_view(), name ='organisation_detail'),
список_организаций. html выглядит следующим образом:
{% extends 'baseNotLoggedIn.html' %}
{% block title %}Organisation Home {% endblock title %}
{% block nav-style %}mkt-nav{% endblock nav-style %}
{% block content %}
{% if organisation_list %}
<table class="table table-hover">
<thead>
<tr>
<th scope="col">Name </th>
<th scope="col">Address</th>
<th scope="col">Phone</th>
</tr>
</thead>
<tbody>
{% for Organisation in organisation_list %}
<tr>
<td><a href="{{Organisation.get_absolute_url}}">{{Organisation.Form_Field_OrgName}}</a></td>
<td>{{Organisation.Form_Field_OrgAddr}}</td>
<td>{{Organisation.Form_Field_OrgPhone}}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<p> There are no ations available </p>
{%endif%}
{# Hero Section #}
{# Main Section #}
{% endblock content %}
TH. models.py Выглядит так:
import uuid
from django.db import models
from datetime import datetime
from django.urls import reverse
# Class defines the organisation - Organisation part of superclass - Actors / All Fields are mandatory
class Organisation(models.Model):
Form_Field_OrgID = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
Form_Field_OrgName = models.CharField(max_length=100, help_text='Enter Organisation Name', verbose_name = "Organisation Name")
Form_Field_OrgAddr = models.CharField(max_length=50, help_text='Enter Organisation Address', verbose_name = "Organisation Address")
Form_Field_OrgAddr2 = models.CharField(max_length=50, help_text='Enter Organisation Address', verbose_name = "Organisation Address")
Form_Field_OrgAddr3 = models.CharField(max_length=50, help_text='Enter Organisation Address', verbose_name = "Organisation Address")
Form_Field_OrgAddr4 = models.CharField(max_length=50, help_text='Enter Organisation Address', verbose_name = "Organisation Address")
Form_Field_OrgCountry = models.CharField(max_length=2, help_text='Select Organisation Country', verbose_name = "Organisation Country")
Form_Field_OrgPcode = models.CharField(max_length=10, help_text='Enter Organisation Post Code', verbose_name = "Organisation Address")
Form_Field_OrgEmail = models.EmailField(max_length=254, help_text='Enter Organisation Email', verbose_name = "Organisation Email Address")
Form_Field_OrgPhone = models.CharField(max_length=12, help_text='Enter Organisation Phone Number', verbose_name = "Organisation Phone Number")
Form_Field_OrgWebAddr = models.URLField(max_length=250, help_text='Enter Organisation Web Address', verbose_name = "Organisation Web Address")
Form_Field_OrgVisible = models.BooleanField ( help_text='Is This Organisation Visable', verbose_name = "Show Organisation")
Form_Field_OrgAddedBy = models.CharField(max_length=200, help_text='Who is Enter the Information', verbose_name = "Added By")
Form_Field_OrgDateAdded = models.DateTimeField(default=datetime.now, verbose_name = "Date Added")
Form_Field_OrgUserDefined = models.CharField(max_length=200, help_text='Enter any other Details', verbose_name = "Organisation Notes")
# string to represent the model object
def __str__(self):
return self.Form_Field_OrgName
def get_absolute_url(self):
#Returns the url to access a detail record for organisation.
#return reverse('Organisation:organisation_details', 'pk:self.pk')
# return '/Organisations/details/%i' % str(self.Form_Field_OrgID)
#return reverse('Organisation:OrganisationDetail', kwargs={'uuid':self.pk})
return reverse('organisation_detail', args=[str(self.pk)])
Я попробовал комбинацию различных get_absolute_url (self): как может показаться выше из закомментированного раздела. Все они либо не работают с:
NoReverseMatch в / Organization / list / Reverse для «организация» не найден. 'Organization' не является допустимой функцией представления или именем шаблона. Метод запроса: GET URL запроса: http://127.0.0.1: 8000 / Organization / list /
аналогично на / admin / site. Я нажимаю на представление организации на сайте, используя
return reverse('Organisation:OrganisationDetail'...... i get the following
NoReverseMatch по адресу / admin / r / 11 / 0b611e28-bcad-426f-a713-4259f4ec093c / Обратный для 'view-detail-view' 'не найден. 'model-detail-view' не является допустимой функцией представления или именем шаблона. Метод запроса: GET URL запроса: http://127.0.0.1: 8000 / admin / r / 11 / 0b611e28-bcad-426f-a713-4259f4ec093c /
Я рассмотрел различные примеры в документы, но ничего не имеет смысла -