первое сообщение, простите, пожалуйста, мое незнание, так как это мое первое django приложение.
Я пытаюсь создать шаблон, который отображает всю информацию, касающуюся c "Билета" из список всех открытых заявок.
К сожалению, я получаю следующее сообщение всякий раз, когда пытаюсь добавить привязку с тегом url-адреса шаблона:
NoReverseMatch в / Tickets / tasks / Reverse for ' заказ 'с аргументами' ('',) 'не найден. 1 образец (ы) пробовали: ['билеты / заказ / (? P [^ /] +) / $ ']
Сообщение об ошибке обновлено. См. Обновление ниже.
И это ТОЛЬКО в этом шаблоне HTML.
Ниже приведен весь код, который, как мне кажется, будет сможет пролить свет на проблему:
models.py:
from django.db import models
# Create your models here.
class Ticket(models.Model):
"""A basic support ticket"""
# User ticket title.
ticket_Name = models.CharField(max_length=50)
# When the request was submitted.
ticket_Submitted = models.DateTimeField(auto_now_add=True)
#Ticket Type
ticketTypeChoices=[
('Update', 'Article Edit/Update'),
('Addition', 'New Content/Article Request'),
('Typo', 'Article Typo/Formatting Issue'),
('Issue', 'Website Error/Issue'),
('Other', 'Other'),
]
# Type of ticket (Update, Addition, Typo, Site Issue)
ticket_Type = models.CharField(
max_length=50,
choices=ticketTypeChoices,
default= 'Other'
)
# Users Name
ticket_Contact = models.CharField(max_length=50)
# User Email (for follow up)
ticket_Email = models.EmailField(max_length=254)
# Article URL (if applicable)
ticket_URL = models.CharField(blank=True, max_length=254)
# User description of the issue.
ticket_Description = models.TextField()
#Ticket Status Choices
StatusChoices = [
('Pending', 'Pending'),
('Open', 'Open'),
('Complete', 'Complete'),
('Deferred', 'Deferred'),
('Awaiting Response', 'Awaiting Response'),
]
# Status of the Ticket
ticket_Status = models.CharField(
max_length=50,
choices=StatusChoices,
default= 'Pending'
)
# Comments from HelpDesk Staff
ticket_Comments = models.TextField(blank=True )
#Shows when the ticket was last saved.
ticket_Last_Updated = models.DateTimeField(auto_now=True)
def __str__(self):
"""Return a string representation of the model"""
return self.ticket_Name
views.py:
# Imports Models from the app
from . models import *
# Imports from the Forms List
from . forms import TicketForm
# Create your views here.
# View of all active tickets
def ticket(request):
tickets = Ticket.objects.all().order_by('-ticket_Submitted')
context = {'ticket': tickets}
return render(request, 'tickets/joblist.html', context)
# User can view details about a Ticket
def order(request, ticket_id):
order = Ticket.objects.get(id=ticket_id)
context= {'order': order}
return render(request, 'tickets/tix.html', context)
urls.py
from django.urls import path,include
from . import views
app_name='tickets'
urlpatterns = [
# Include default auth urls.
path('', include('django.contrib.auth.urls')),
# Support Ticket Form
path('submit/', views.submit, name='submit'),
# Contact Us Form
path('contact/', views.contact, name='contact'),
# TicketWeblist
path('tasks/', views.ticket, name='tasks'),
# Ticket Details
path('order/<str:ticket_id>/', views.order, name='order' )
]
Шаблон (список заданий. html):
{% for tickets in ticket %}
<tr>
<td>{{tickets.ticket_Name}}</td>
<td>{{tickets.ticket_Type}}</td>
<td>{{tickets.ticket_Contact}}</td>
<td>{{tickets.ticket_Status}}</td>
<td>{{tickets.ticket_Submitted}}</td>
<td>{{tickets.ticket_Last_Updated}}</td>
<td><a class="btn btn-sm btn-info" href="{% url 'tickets:order' ticket.id %}">View</a>
</tr>
{% endfor %}
После просмотра кода дюжину раз, все, в чем я могу быть уверен, - это проблема, которая начинается с тега url шаблона привязки шаблона. (Просмотр), но независимо от того, какой формат я пробую, он вызывает эту или аналогичную ошибку.
ОБНОВЛЕНИЕ: по предложению Мела изменил URL-адрес «порядок» на «билеты: заказ», и теперь я получаю следующее сообщение :
NoReverseMatch в / ticket / tasks / Обратный для 'порядка' с аргументами '(' ',)' не найден. 1 образец (ы) пробовали: ['билеты / заказ / (? P [^ /] +) / $ ']
Я пытался решить эту проблему около трех дней и был полон решимости решить ее сам. Любая помощь приветствуется, и, пожалуйста, не стесняйтесь указывать на любой спагетти-код или отсутствие заметок, а также я ищу способы расти.
Спасибо!