Как запустить проект Django с файлами .py c без использования исходных кодов? - PullRequest
6 голосов
/ 21 июня 2020

У меня есть проект django, и я хочу создать файлы .py c и удалить исходный код. Имя моей папки проекта - mysite, и я выполнил команду python -m compileall mysite. Создаются файлы .py c. После этого я попытался запустить свой проект с помощью команды python __pycache__/manage.cpython-37.pyc runserver, но у меня возникла ошибка, например ModuleNotFoundError: No module named 'mysite'

. Я хотел бы спросить об этом две вещи. Во-первых, как я могу решить эту проблему и запустить свой проект с файлом .py c? Во-вторых, достаточно ли переместить созданные файлы .py c в отдельную папку в соответствии со структурой проекта django?

1 Ответ

1 голос
/ 22 июня 2020

Прежде всего, я создал новую папку в другом каталоге, например новый проект django, и создал свои папки app, папку static, папку templates и т.д. c. вручную, как и моя архитектура проекта django, которую я создал ранее.

Затем я переместил файлы .py c, которые я создал с помощью команды compileall, в свои новые папки проекта.

Как известно, при создании файлов .py c к именам файлов автоматически добавляется раздел .cpython-37 (например, manage.py -> manage.cpython-37.pyc). Я удалил этот раздел и преобразовал их в manage.pyc, views.pyc, et c.

Итак, моя файловая структура была такой:

mysite/
    manage.pyc
    mysite/
        __init__.pyc
        settings.pyc
        urls.pyc
        wsgi.pyc
    app/
        migrations/
                __init__.pyc
        __init__.pyc
        admin.pyc
        apps.pyc
        models.pyc
        tests.pyc
        views.pyc

        ...

После того, как я создал это django структура проекта с файлами .py c, я запустил команду python manage.pyc runserver, и она работает.

...