обратная ссылка в шаблоне представления списка - PullRequest
0 голосов
/ 31 января 2020

я создал методы в своем классе модели для обработки всех перенаправлений всей работы, кроме той, которую я создал для ссылки в моем представлении списка (метод go_to_create). Im, используя представления на основе классов

class Todo(models.Model):
    name = models.CharField(max_length=100, default='unamedTodo')
    description = models.CharField(max_length=200)
    Todo_date = models.DateTimeField('Todo Date')
    pub_date = models.DateTimeField('Date Published')

    def get_absolute_url(self):
        return reverse('ToDo:detail', kwargs={'id': self.id})

    def get_back_home(self):
        return reverse('ToDo:todos', kwargs={})

    def go_to_update(self):
        return reverse('ToDo:update', kwargs={'id': self.id})

    def go_to_create(self):
        return reverse('ToDo:create', kwargs={})

class TodoCreateView(CreateView):
    template_name = 'ToDo/todo_create.html'
    form_class = TodoForm
    queryset = Todo.objects.all()
from django.urls import path

from .views import (
    TodoListView,
    TodoDetailView,
    TodoCreateView,
    TodoUpdateView,
    TodoDeleteView,

)

app_name = "ToDo"

urlpatterns = [
    path('Todos/', TodoListView.as_view(), name='todos'),
    path('Todos/<int:id>/', TodoDetailView.as_view(), name='detail'),
    path('Todos/create/', TodoCreateView.as_view(), name='create'),
    path('Todos/<int:id>/update/', TodoUpdateView.as_view(), name='update'),
    path('Todos/<int:id>/delete/', TodoDeleteView.as_view(), name='delete')

]
<h1>ToDo's</h1>
<ul>
  {% for object in object_list %}
  <li>
    <p>
      {{ object.id }} -
      <a href="{{ object.g_et_absolute_url }}">{{ object.name }}</a>
    </p>
  </li>
  {% endfor %}
  <p>Create new Todo <a href="{{ object.go_to_create }}">here</a></p>
</ul>

ссылка, вызывающая метод go_to_create, не работает, я остаюсь на той же странице, ошибка не генерируется

1 Ответ

1 голос
/ 31 января 2020

Вместо вызова метода непосредственно в шаблоне, это сделает работу.

 {% url 'ToDo:create' %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...