Обновить сообщение, нажав на кнопку: Django - PullRequest
0 голосов
/ 07 апреля 2020

Надеюсь, кто-нибудь может мне помочь! Я уверен, что есть небольшая ошибка, которую я не могу обнаружить. На моем сайте есть список товаров с кнопкой обновления. Как только я нажимаю на кнопку, у меня появляется следующее сообщение об ошибке:

Reverse for 'edit_info' with keyword arguments '{'slug': ''}' not found. 1 pattern(s) tried: ['search/(?P<slug>[-\\w]+)/edit/$']

Я что-то упустил из файла urls.py? Вот код, большое спасибо!

views.py

class optionView(TemplateView):
    template_name = 'search/option.html'

@login_required
def AddInfo(request):
    form = InfoForm(request.POST or None, request.FILES or None)
    if form.is_valid():
        instance = form.save(commit=False)
        instance.utente = request.user
        instance.save()

    context = {'form': form}

    return render(request, 'search/option.html', context)

def edit_info(request, slug):
    instance = get_object_or_404(Info, slug=slug)
    if request.method == 'POST':
        form = InfoForm(request.POST, instance=obj)
        if form.is_valid():
            instance = form.save(commit=False)
            instance.utente = request.user
            instance.save()
            return render(request, 'search/user.html')
    else:
        form = InfoForm(instance=obj)
    template = 'search/option.html'
    context = {'form': form}
    return render (request, template, context)

urls.py

urlpatterns = [
    path('', homeView.as_view(), name='home'),
    path('option/', views.AddInfo, name='option'),
    path('delete/<int:id>', views.DeleteInfo, name='delete'),
    re_path(r'^search/(?P<slug>[-\w]+)/edit/$', views.edit_info, name='edit_info'),
    path('signup/', core_views.signup, name='signup'),
    path('user/', userListView.as_view(), name='user'),
    path('searches/', searchesView.as_view(), name='searches'),

]

template html:

    {% if object_list %}
    {% for o in object_list %}
    <div class="container_band">
      <div class=album_band>
        <!-- insert an image -->
        {%if o.cover%}
        <img src= "{{o.cover.url}}" width="100%">
        {%endif%}

      </div>

      <div class="info_band">
        <!-- insert table info -->
        <table>
          <tr><th><h3>{{o.band}}</h3></th></tr>
          <tr><td> Anno: </td><td> {{o.anno}} </td></tr>
          <tr><td> Disco: </td><td> {{o.disco}} </td></tr>
          <tr><td> Etichetta: </td><td> {{o.etichetta_d}} </td></tr>
          <tr><td> Matrice: </td><td> {{o.matrice}} </td></tr>
        </table>
      </div>

      <div class="mod">
        <table>
          <tr>
            <td>
              <a href="{% url 'edit_info' slug=obj.slug %}"><button type="button" class=" btn btn-default"> Update </button></a>
            </td>
          </tr>
          <tr>
            <td>
                <button>Delete</button>
            </td>
          </tr>
        </table>
      </div>
    </div>
  {% endfor %}
  {%endif%}
  </div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...