Не могу удалить объекты и получить reverse_lazy.запрашивать подтверждение_далец.html, когда следует перенаправить на страницу индекса - PullRequest
0 голосов
/ 19 ноября 2018

Я довольно новичок в фреймворке django и после учебника.Все шло нормально, пока я не попытаюсь очистить свой код.

Я уже прочитал документацию реверса и не использую ленивый реверс.Когда я удаляю объект в шаблоне, я должен перенаправить меня обратно на index.html, хотя я получаю:

TemplateDoesNotExist at /webdeve/dream/4/delete/
webdeve/dreams_confirm_delete.html

Это мое urls.py:

from django.conf.urls import url
from webdeve import views

app_name = 'webdeve'

# Dreams

urlpatterns = [
    url(r'^$', views.IndexView.as_view(), name='index'),

# Dreams/detail

    url(r'^(?P<pk>[0-9]+)/$', views.DetailView.as_view(), name='detail'),

# Dreams/detail/add
    url(r'dream/add/$', views.DreamCreate.as_view(), name='dream-add'),

# Dreams/detail/Update

    url(r'dream/(?P<pk>[0-9]+)/$', views.DreamUpdate.as_view(), name='dreams-uptdate'),
# Dreams/detail/detete

    url(r'dream/(?P<pk>[0-9]+)/delete/$', views.DreamDelete.as_view(), name='dreams-delete'),

]

мое удаление view.py

class DreamDelete (DeleteView):
    model = Dreams
    success_url = reverse_lazy('webdeve:index')

и функция в html-файле:

{% for Dreams in object_list %}
            <a href="{% url 'webdeve:detail' Dreams.id %}"><img src={{ Dreams.imagem }}></a>
            <li><a href="{% url 'webdeve:detail' Dreams.id %}"> {{ Dreams.titulo }} - {{ Dreams.objetivo }} </a><li>

            <!--delete BUTTON-->

              <form action="{% url 'webdeve:dreams-delete' Dreams.id %}">
                {% csrf_token %}
                <input type="hidden" name="dreams_id" value="{{ Dreams.id }}" method="post" style="display: inline" >
                <button type="submit" class="btn btn-default btn-sm">
                  <span class="glyphicon glyphicon-trash"></span>
                </button>
              </form>
        {% endfor %}

Спасибо за внимание!

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

У вас есть файл dreams_confirm_delete.html в вашем каталоге?Согласно Django вы должны добавить шаблон с суффиксом _confirm_delete в вашем каталоге.Убедитесь, что вы добавили этот шаблон в правильный каталог,

<form class="content-form" method="POST">
     {% csrf_token %}
     <span>
        Are you sure to delete?
     </span>

     <button type="submit"> Delete </button>

</form>
0 голосов
/ 19 ноября 2018

В ваших путях отсутствует начальный начальный символ ^.

url(r'^dream/add/$', views.DreamCreate.as_view(), name='dream-add'),

# Dreams/detail/Update

url(r'^dream/(?P<pk>[0-9]+)/$', views.DreamUpdate.as_view(), name='dreams-uptdate'),
# Dreams/detail/detete

url(r'^dream/(?P<pk>[0-9]+)/delete/$', views.DreamDelete.as_view(), name='dreams-delete'),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...