我通过重命名其文件夹、导入及其所有引用(模板/索引)来更改 Django 中应用程序的名称。但是现在当我尝试运行时出现此错误python manage.py runserver
python manage.py runserver
Error: Could not import settings 'nameofmynewapp.settings' (Is it on sys.path?): No module named settings
如何调试和解决此错误?有什么线索吗?
按照以下步骤在 Django 中更改应用程序的名称:
views.py
urls.py
manage.py
settings.py
django_content_type
UPDATE django_content_type SET app_label='<NewAppName>' WHERE app_label='<OldAppName>'
ALTER TABLE <oldAppName>_modelName RENAME TO <newAppName>_modelName
django_migrations
UPDATE django_migrations SET app='<NewAppName>' WHERE app='<OldAppName>'
models.py
app_name
static
templates
old_app/static/old_app
new_app/static/new_app
models
django_content_type.name
UPDATE django_content_type SET name='<newModelName>' where name='<oldModelName>' AND app_label='<OldAppName>'
__pycache__/
EOFError: marshal data too short when trying to run the server
元点(如果使用 virtualenv): 值得注意的是,如果您要重命名包含您的 virtualenv 的目录,那么您的 env 中可能会有几个包含绝对路径的文件,并且也需要更新。如果您遇到此类错误,ImportError: No module named ...则可能是罪魁祸首。(感谢@danyamachine 提供这个)。
ImportError: No module named ...