Django Ошибка отсутствия обратного соответствия - ничего не работает

При рендеринге новой страницы действие html-формы на этой новой странице останавливает рендеринг страницы... хотя оно не имеет никакого отношения к рендерингу самой страницы (если я удалю эту одну строку HTML-кода, страница загружается нормально). Я работаю над решением этой проблемы уже более 3 дней, перепробовал сотни возможных решений, ничего не помогает. Пожалуйста, помогите

Это ошибка:

Повтор для 'editgallery' с аргументами '('rodneyadmin', '')' не найден. Проверен 1 шаблон(ы): ['editgallery/(?P[^/]+)/(?P<gallery_id>[0-9]+)\Z']

Это строка кода, выделенная как причина ошибки (действие формы):

<form action="{% url 'gallery_app:editgallery' user.username new_gallery.id %} " style="font-weight: bolder;" enctype='multipart/form-data' method='POST' class='gap-2'>

Views.py:

HTML:


<div class="row mb-3">
  <div class="col-lg-12 col-sm-12 text-primary  d-flex justify-content-center align-items-center">
    <h1
      class="homepagetitle mt-4 mb-5"
      style="font-size: 2.4rem; color: rgb(231, 114, 208)"
    >
      Create new gallery
    </h1>
  </div>
</div>


<div class="row mb-3 d-flex justify-content-center">
  
    <div class="col-lg-4 col-med-8 col-sm-8 text-primary" style="height: fit-content;">

      <form action="{% url 'gallery_app:editgallery' user.username new_gallery.id %} " style="font-weight: bolder;" enctype='multipart/form-data' method='POST' class='gap-2'>
     
        {% csrf_token %}


        <div class="form-group mb-5">
          <label style="margin-right: 20px;">Public Gallery</label>
          {{form.public_gallery}}
      </div>
    
        <div class="form-group mb-5">
            <label>Gallery Name </label>
            {{form.gallery_name}}
        </div>

        <div class="form-group mb-5">

          <label>Wallett Address</label>   
          
          <span class="hovertext" style="color: rgb(231, 114, 208); font-weight: normal;" data-hover="You will be adding NFT's from this wallet. Max wallet size: 50 NFT's">?</span>
          {{form.wallett_address}}
      </div>

        <div class="form-group mb-5">
            <label style="margin-right: 20px;">Category </label>
            {{form.gallery_category}}
        </div>
  

       
          <button
          type="submit"
          class="btn btn-dark mt-4 mb-4"
          
          style="
          font-size: 1.1rem;
            height: 50px;
            width:fit-content;
          "
        >
          Add NFT's &nbsp <i class="far fa-arrow-alt-circle-right"></i>
        </button>
      


    </form>



</div>

</div>

Urls.py:

app_name = 'gallery_app'


urlpatterns = [
    path('newgallery/<str:username>', views.newgallery, name='newgallery'),
    path('editgallery/<str:username>/<int:gallery_id>', views.editgallery, name='editgallery'),
    path('galleryview/<str:username>/<int:gallery_id>', views.galleryview, name='galleryview'),
]

Похоже, что аргумент url new_gallery.id пуст при рендеринге html шаблона

Вам нужно передать галерею в качестве контекста в представление, содержащее форму редактирования. Я не вижу в представлениях, которые вы опубликовали, что у вас есть детальное представление, но я вижу url детального представления. Поэтому я предполагаю, что вы передаете форму редактирования в представление create? Это представление не возвращает контекст с new_gallery в качестве контекстной переменной. Я бы создал детальное представление для вашей галереи и передал форму редактирования, пользователя и галерею в качестве контекста в шаблон.

Reverse for 'editgallery' with arguments '('rodneyadmin', '')' not found.

Новый контекст

def galleryview(request, username, gallery_id):
    # Logic
    gallery = get_object_or_404(Gallery, pk=gallery_id)
    context = {
    'form': form,
    'username': username,
    'new_gallery': gallery,
    }
    # return an html response with context

Также, когда вы инстанцируете несвязанную форму, вы должны добавить скобки после нее.

form = NewGalleryForm()
Вернуться на верх