Мой проект — es. У меня есть три приложения: event, items_dashboard и item. Каждое событие имеет одну item_dashboard и ноль или более элементов.
Когда пользователь находится в /event//items_dashboard/ index.html есть ссылка для добавления нового элемента к событию . Откроется форма /item/new/. Когда я заполняю и отправляю эту форму, я получаю следующую ошибку:
Код: Выделить всё
Page not found (404)
Request Method: POST
Request URL: http://127.0.0.1:8000/item/new/
Using the URLconf defined in event_site.urls, Django tried these URL patterns, in this order:
[name='index']
event/
item/ new/ [name='new']
item/ / [name='detail']
item/ /delete [name='delete_item']
The current path, item/new/, didn’t match any of these.
es/urls.py
Код: Выделить всё
urlpatterns = [
path('', include('core.urls')),
path('admin/', admin.site.urls),
path('event/', include('event.urls', namespace="event")),
path('item/', include('item.urls', namespace="item")),
# path('', index, name='index')
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Код: Выделить всё
app_name = 'event'
urlpatterns = [
path('new/', views.new, name='new'),
path('/', views.detail, name='detail'),
path('/items_dashboard/', include('items_dashboard.urls', namespace='items_dashboard')),
path('/item/', include('item.urls', namespace='item'))
]
Код: Выделить всё
app_name = 'item'
urlpatterns = [
# path('new/', views.new, name='new'),
path('new/', views.new, name='new'),
path('/', views.detail, name='detail'),
]
Код: Выделить всё
@login_required()
def new(request, event_id):
event = get_object_or_404(Event, pk=event_id)
if request.method == "POST":
form = NewItemForm(request.POST, request.FILES)
if form.is_valid():
item = form.save(commit=False)
item.event = event
item.creator = request.user
item.save()
return redirect('item:detail', pk=item.id)
else:
form = NewItemForm()
return render(request, 'item/form.html', {
'form': form,
'title': 'Add new item'
})
И наконец, item/templates/item/form.html:
Код: Выделить всё
{% extends 'core/base.html' %}
{% block title %}{{ title }}{% endblock %}
{% block content %}
{{ title }}
{% csrf_token %}
{{ form.as_p }}
{% if form.errors or form.non_field_errors %}
{% for field in form %}
{{ field.errors }}
{% endfor %}
{{ form.non_field_errors }}
{% endif %}
Create Item
{% endblock %}
Я попробовал решения, представленные в похожих вопросах, но они не сработали.
п>
Подробнее здесь: https://stackoverflow.com/questions/786 ... -found-404