如何更改Django路径/项目/应用

时间:2017-10-01 18:15:38

标签: python django git rename

经过How to change the name of a Django app?后,我的django设置仍然存在问题

我的django项目最后一次“运行”我的设置是这样的

/resume ~/repos/resume
  /resume
    /apps
    /static
    /templates
    __init__.py
    settings.py
    urls.py
    wsgi.py
    ...
  manage.py
  requirements.txt
  ...

项目名称是简历,位于/ repos / resume 我将项目名称更改为投资组合,将目录更改为/ repos / portfolio以使其成为

/portfolio ~/repos/portfolio
  /resume
    /apps
    /static
    /templates
    __init__.py
    settings.py
    urls.py
    wsgi.py
    ...
  manage.py
  requirements.txt
  ...

我使用pycharm的重命名功能重命名了它们。我相信参考文献等都是正确更新的。 现在我正在运行python manage.py migrate

(portfolio) nono@nono:~/repos/portfolio$ python manage.py migrate
Traceback (most recent call last):
  File "manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "/home/nono/.virtualenvs/portfolio/src/django/django/core/management/__init__.py", line 354, in execute_from_command_line
    utility.execute()
  File "/home/nono/.virtualenvs/portfolio/src/django/django/core/management/__init__.py", line 300, in execute
    settings.INSTALLED_APPS
  File "/home/nono/.virtualenvs/portfolio/src/django/django/conf/__init__.py", line 56, in __getattr__
    self._setup(name)
  File "/home/nono/.virtualenvs/portfolio/src/django/django/conf/__init__.py", line 43, in _setup
    self._wrapped = Settings(settings_module)
  File "/home/nono/.virtualenvs/portfolio/src/django/django/conf/__init__.py", line 106, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "/home/nono/.virtualenvs/portfolio/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 944, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 956, in _find_and_load_unlocked
ImportError: No module named 'portfolio'

此时,我想指出我不知道自己在做什么。以下部分可能适用也可能不适用。

我使用的原始virtualenv被命名为简历。 现在我有一个名为resume的项目(存在于名为resume的目录中),一个名为resume的app,以及一个名为resume的virtualenv。

我认为这可能是问题所在。我删除了这个env,创建了一个新的并调用了这个组合(这样它可以匹配项目名称?和目录?)。

我安装了requirements.txt,所以我相信这也是正确的。

我只是想知道重命名项目,app,目录,virtualenvs等的“正确方法”是什么,所以django项目仍然可以“运行”

使用相同的字符串/文本时会发生很多冲突,这让我很困惑。

我想说的是如果设置是这样的话会发生什么

/<project name> ~<project path>
  /<app name>
    /apps
    /static
    /templates
    __init__.py
    settings.py
    urls.py
    wsgi.py
    ...
  manage.py
  requirements.txt
  ...

项目名称,项目路径,应用程序名称和virtualenv都具有唯一名称。

为清楚起见,我使用本指南设置了Django项目https://simpleisbetterthancomplex.com/2015/11/30/starting-a-new-django-18-project.html

我以前做过其他django项目,但我从未理解重命名项目,重命名应用程序,更改目录有什么问题。我总是遇到这种情况,所以我要做的是从头开始,但使用'正确'的名称,然后处理文件。

每次我需要重命名时,必须有一个更好的解决方案,而不是从头开始重新创建。

0 个答案:

没有答案