#python #django
#Python #Django
Вопрос:
итак, я сделал это, и он отлично работает в автономном режиме, но онлайн продолжает выдавать 404.
Теперь проблема заключается в загрузке файла, потому что онлайн я отлаживал, удалив поле ввода для загрузки файла, и URL-адрес пути работает нормально.
Итак, мой вопрос в том, почему загрузка файла вызывает эту проблему и как я могу это исправить.
Основной URL
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
from . import views
urlpatterns = [
path('', include('UserAccount.urls')),
path('dashboard/', include('Dashboard.urls')),
path('admin/', include('Admin.urls')),
path('tester/', include('Tester.urls')),
path('paystack', views.paystack, name='paystack'),
]
if settings.DEBUG:
urlpatterns = static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
URL-адрес администратора
from django.urls import path
from . import views
urlpatterns = [
path('', views.admin, name='admin'),
path('dashboard', views.dashboard, name='dashbaord'),
path('create-category', views.category, name='category'),
path('create-category/<id>', views.category, name='category'),
path('upload-document', views.upload, name='upload-document'),
path('upload-document/<id>', views.upload, name='upload-document'),
path('upload-document/<setup>/<id>', views.upload, name='upload-document')
]
ФОРМА
<form class="needs-validation" action="upload-document" method="POST" enctype="multipart/form-data" novalidate>
{% csrf_token %}
<div class="row mt-3 mb-3"></div>
{% if messages %}
<div class="alert alert-danger" role="alert">
{% for message in messages %}
{{ message }}
{% endfor %}
</div>
{% endif %}
<div class="form-group">
<label for="validationCustom01">Upload Document</label>
<input type="file" class="form-control" id="validationCustom01" name="document" placeholder="Upload document" required>
<div class="invalid-feedback">
Please upload document.
</div>
<div class="valid-feedback">
Looks good!
</div>
</div>
<div class="form-group">
<label for="validationCustom01">Document Name</label>
<input type="text" class="form-control" id="validationCustom01" name="document-name" placeholder="Enter document name" required>
<div class="invalid-feedback">
Please enter document name.
</div>
<!-- <div class="valid-feedback">
Looks good!
</div> -->
</div>
<div class="form-group">
<label for="validationCustom01">Document Price</label>
<input type="text" class="form-control" id="validationCustom01" name="document-price" placeholder="Enter document price" required>
<div class="invalid-feedback">
Please enter document price.
</div>
<!-- <div class="valid-feedback">
Looks good!
</div> -->
</div>
<div class="form-group">
<label for="exampleFormControlSelect1">Select a category</label>
<select class="form-control" id="validationCustom01" name="category" required>
{% for cat in category %}
<option value="{{cat.category_name}}">{{cat.category_name}}</option>
{% endfor %}
</select>
<div class="invalid-feedback">
Please select a category.
</div>
</div>
<div class="form-group">
<label for="validationCustom01">Document Slug</label>
<input type="text" class="form-control" id="validationCustom01" name="document-slug" placeholder="Enter document slug">
<!-- <div class="valid-feedback">
Looks good!
</div> -->
</div>
<div class="form-group">
<label for="validationCustom01">Document Description</label>
<textarea class="form-control" id="validationCustom01" name="document-description" rows="6" placeholder="Enter document description"></textarea>
<!-- <div class="valid-feedback">
Looks good!
</div> -->
</div>
<button type="submit" class="btn btn-primary btn-red btn-block">UPLOAD</button>
</form>