django - 执行自定义 python 代码后无法运行 Django 服务器
问题描述
我重建了一个 Django 样板(Django 3.0.2,Python 3.7.5),在其中我将设置划分为不同的文件,分别在production.py和development.py中进行生产和开发。在这里,src从main重命名。他们都从base.py导入所有内容。我的项目的文件夹结构如下所示:
-Django_boilerplate
-src
-core
-migrations
-management
-commands
-rename.py
-main
-settings
-base.py
-development.py
-production.py
-templates
-db.sqlite3
-manage.py
我编写了rename.py,这样每当我处理一个新项目时,我就可以通过运行此文件来启动项目,从而相应地重命名项目。我的rename.py文件如下所示:
from django.core.management.base import BaseCommand
import os
class Command(BaseCommand):
help = 'Renames a Django project'
def add_arguments(self, parser):
parser.add_argument('new', type=str, help='The new Django project name')
def handle(self, *args, **kwargs):
new_project_name = kwargs['new'][0]
files_to_rename = ['main/settings/base.py',
'main/asgi.py',
'main/wsgi.py', 'manage.py']
folder_to_rename = 'main'
for f in files_to_rename:
with open(f, 'r') as file:
filedata = file.read()
filedata = filedata.replace(folder_to_rename, new_project_name)
with open(f, 'w') as file:
file.write(filedata)
os.rename(folder_to_rename, new_project_name)
self.stdout.write(self.style.SUCCESS(f'Project has been renamed to {new_project_name}'))
然后我通过运行执行 rename.py 文件
python manage.py rename ecommerce
第一次,它执行并将设置更改为
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ecommerce.settings.development')
在manage.py和
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ecommerce.settings')
在asgi.py和wsgi.py文件中,但不在base.py中,其中 ROOT_URLCONF 和 WSGI_APPLICATION 的值没有改变。
ROOT_URLCONF = 'main.urls'
WSGI_APPLICATION = 'main.wsgi.application'
在此之后,我无法运行服务器以及重命名项目了。每当我运行服务器或rename.py文件时,命令提示符上都不会显示错误消息。我从 GitHub 存储库https://github.com/justdjango/django_project_boilerplate中引用了这个
我本可以克隆或复制代码,但想知道可以做什么。我的错误似乎是什么?EDIT1:添加了 Django 和 Python 版本详细信息 EDIT2:我还手动将这些文件中更改的所有名称从电子商务更改为main再次尝试查看是否有效,但它没有。
解决方案
推荐阅读
- python - 从文件中读取有向图
- python - Python 从 csv 问题中绘制图形
- node.js - npm 链接不起作用,bash: dosmth: command not found
- java - 如何将处理 core.jar 添加到 gradle 项目?
- salt-stack - saltstack - 相当于'rpm --import'
- javascript - 使用 drive.file 范围 Google Drive API 无法访问共享文件(获取共享文件列表)
- python - 如何将 Quandl json 转换为 Python 字典?
- c# - 当我尝试通过 HttpWebRequest 上传音频文件时,Hololens 应用程序卡住了
- rxjs - 行为为 BehaviorSubject 的 Observable(可观察到默认值)
- python - mysqlconnector python错误:“命令不同步;您现在无法运行此命令”