Ошибка 404 при развертывании приложения Python на CPanel

Python==3.11.11 (серверная версия) Django==5.1.1

Здравствуйте, сегодня я должен был развернуть свое приложение на CPanel, и все шло хорошо до самого конца, потому что когда все конфигурации были сделаны, на странице появилась 404 ошибка:

Not Found
The requested URL was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to 
handle the request.

Я создаю приложение. Создаю базу данных MySQL, делаю миграции просто отлично. Также изменяю некоторые конфигурации базы данных, allow_hosts и static root в setting.py:

Это djangocrud.urls:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('__reload__/', include('django_browser_reload.urls')),
    path('admin/', admin.site.urls),
    path('', include('main.urls')),
    path('auth/', include('dashboard.urls')),
    path('auth/', include('billing.urls')),
    path('auth/', include('teaching.urls')),

А это dashboard.urls:

from django.urls import path
from .views import dashboard_admins, dashboard_teachers, dashboard_students, teachers, students, subjects, schedules, edit

urlpatterns = [
    path('dashboard-admins', dashboard_admins, name='dashboard-admins'),
    path('dashboard-teachers', dashboard_teachers, name='dashboard-teachers'),
    path('dashboard-students', dashboard_students, name='dashboard-students'),
    path('teachers', teachers, name='teachers'),
    path('students', students, name='students'),
    path('subjects', subjects, name='subjects'),
    path('schedules', schedules, name='schedules'),
    path('edit', edit, name='edit'),
]

По умолчанию сервер направляет пользователя по адресу .../auth/dashboard-admins, если пользователь не залогинен, то перенаправляет на страницу входа. Но страница входа тоже не работает. Я пытаюсь изменить путь, поместить его в djangocrud.urls файл, но ничего не меняется.

Мой views.py:

from django.shortcuts import redirect, render
from .models import CustomUser, Teachers, Students, Guardians, Subjects, Courses, Sections, Schedules, Tuition, SchoolPeriod

# Create your views here.
# Some variables here...

def auth_user(request) -> bool:
    if request.user.is_authenticated:
        # Do something for authenticated users.
        return True
    else:
        return False


def dashboard_admins(request):
    if auth_user(request) == True:
        # Here are data to save on db
        # ...
        if request.method == 'GET':
            s_count =  s_user.count()
            return render(request, 'dashboard_admins.html',{
                'scounts': s_count,
                'tuser': t_user,
                'suser': s_user,
            })
        else:
            try:
                Subjects.objects.bulk_create(subj_list)
                Sections.objects.bulk_create(sect_list)
                Courses.objects.bulk_create(cour_list)
                SchoolPeriod.objects.create(period='2024-2025').save()
                print('Datos creados')
                return redirect('/auth/dashboard-admins')
            except:
                print('Fallo en la creacion de datos')
                return redirect('/auth/dashboard-admins')
    else:
        return redirect('../login')

from dashboard.views import dashboard_admins

просмотр входа:

# Create your views here.
def home(request):
    # return render(request, 'pages/login.html')
    return redirect(dashboard_admins)

def log_in(request):
    if request.method == 'GET':
        return render(request, 'pages/login.html')
    else:
        user = emailBackend.authenticate(request, username=request.POST.get('email'), password=request.POST.get('password'))

        if user != None:
            login(request, user)
            return redirect(dashboard_admins)
        else:
            return HttpResponse('Login invalido')


def log_out(request):
    logout(request)
    return redirect(home)

Если кто-то может помочь мне, я буду благодарен.

Вот мои папки:

Files tree

И я обращаюсь к файлу wsgi.py на passenger_wsgi.py файле:

from djangocrud.wsgi import application

Если вам нужна дополнительная информация, пожалуйста, дайте мне знать. Приложение работало на localhost до сегодняшнего дня, когда я попытался поставить его на сервер.

Этот путь указывает на местоположение, специфичное для Windows (C:/Program Files/nodejs/npm.cmd), которое, скорее всего, является вашей локальной средой разработки.

На рабочем сервере (особенно на сервере на базе Linux, таком как те, которые используются в cPanel hosting) путь к npm будет другим. Как правило, это было бы что-то вроде /usr/bin/npm или /usr/local/bin/npm.

Если вы используете в своем проекте на Django такие инструменты, как TailwindCSS или другие инструменты на основе Node.js, вам необходимо убедиться, что для серверной среды задано правильное значение NPM_BIN_PATH.

По-видимому, некоторые из моих файлов повреждены, поэтому они устанавливаются неправильно. Я протестировал установку своих приложений и маршрутов Django с нуля, и теперь все работает корректно.

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

Вернуться на верх