Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
陷入Django错误:没有名为registration的模块_Django - Fatal编程技术网

陷入Django错误:没有名为registration的模块

陷入Django错误:没有名为registration的模块,django,Django,我安装了注册模块,并将其添加到settings.py。当我尝试运行syncdb时(%python sitename/manage.py syncdb--settings sitename.devsettings) 它给了我“错误:没有名为注册的模块” 同样的设置在服务器上可以正常工作(使用相同的文件处理所有内容)。这发生在我运行OS X的本地机器上 我检查了sys.path,列出了注册模块所在的路径,实际模块也已就位。由于没有太多其他输出,我不知道如何进一步调试。造成此问题的原因是什么?我的第一

我安装了注册模块,并将其添加到settings.py。当我尝试运行syncdb时(%python sitename/manage.py syncdb--settings sitename.devsettings)

它给了我“错误:没有名为注册的模块”

同样的设置在服务器上可以正常工作(使用相同的文件处理所有内容)。这发生在我运行OS X的本地机器上


我检查了sys.path,列出了注册模块所在的路径,实际模块也已就位。由于没有太多其他输出,我不知道如何进一步调试。造成此问题的原因是什么?

我的第一个猜测是,您没有将
'registration'
添加到
安装的应用程序
设置.py
文件中


可能您正在服务器上使用不同的
settings.py
(或
localsettings.py
)。

您的
注册
模型中可能存在Python错误。尝试启动一个shell并导入它们、实例化它们等等。

试试这个

1) 将注册应用程序作为应用程序放在项目中

然后做syncdb


请按照以下步骤查找错误的确切原因

1.go to you project directory
2.python manage.py dbshell
3.in shell
4.import registration   
5.if you get error here which means your registration module is  not
there on the python path (or) some problem in finding that one.
if it works then some other problem like improper compilation .............

因为这个页面在谷歌排名很好,所以它似乎是一个提供一般答案的好地方,可能会有所帮助。有时候svn/git中的文件夹名与settings.py中的文件夹名不同——这是一个不小心的陷阱


因此,如果
INSTALLED\u APPS
将您的内容引用为mywhater.someapp,那么您可能希望settings.py位于“mywhater”文件夹中,其子文件夹“someapp”包含一个
\uuuu init\uuuuuuuuuuuuuuuuuuuy
文件

确保你在已安装的应用程序中有一个条目,并且你的应用程序中至少有4个文件init.py、url.py、models.py和views.py

您提到了sys.path,所以您可能尝试过这个,但是这是我的问题,我相信一些阅读此文章的人也有这个问题

打开命令提示并输入(带尾随斜杠):

然后输入:

export DJANGO_SETTINGS_MODULE=settings
这允许我编辑settings.py文件以列出已安装的应用程序,如下所示:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'myapp',
    'registration',
 )
而不是:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'myproject.myapp',
    'myproject.registration',
)

我只是在settings.py文件中的“registration”条目后缺少了一个逗号。一旦我在“注册”后加上逗号,
Syncdb为我工作。

我遇到了这个问题。我已将应用程序保存在项目文件夹中(如中所示,与manage.py的文件夹相同),但在settings.py中的已安装应用程序中引用了“projectname.appname”,而不是仅引用了“appname”。

在按照文档使用PIP安装后,我也在SX上使用VirtualNV安装了该应用程序。 我用easy_install做了另一个安装,在那之后,一切都正常了

easy_install -Z django-registration

如果在Windows上和使用virtualenv时发生这种情况,可能是因为virtualenv

在本地(非VirtualEnvironment)环境中安装该软件包,它应该可以工作


我对django脆饼也有同样的问题

在你的虚拟环境中就可以这样做

pip安装django注册


修正!我也有同样的问题,我试图注册子模块,比如:

project
 organization
    categories
在我的设置文件中,我添加了

> INSTALLED_APPS = (
>     'django.contrib.admin',
>     'django.contrib.auth',
>     'django.contrib.contenttypes',
>     'django.contrib.sessions',
>     'django.contrib.sites',
>     ...
>     'organization.categories',  )
在文件夹类别中生成模块时,您有一个init.pyc。我将此文件复制到“organization”文件夹中,然后执行以下命令:

sudo python manage.py makemigrations
sudo ./manage.py syncdb

而且它可以工作

我一直面临着这个问题,直到一位专家发现环境没有被激活

检查您的Virtualenv是否已激活。如果没有,则在shell中运行

source .<enviroment name>/bin/activate 
source./bin/activate

当我将django注册安装到我的虚拟环境时,我遇到了相同的错误。 我不知道它是如何工作的,但是当我将这个库安装到主Python目录(不是虚拟环境)时,错误就消失了


也许这会对某人有所帮助。

我遇到这个问题是因为我把我的虚拟电视搞砸了

我打开了两扇窗户:

  • 运行服务器
  • 运行我的命令
  • 我已成功将Django注册软件包安装到Windows计算机上的venv中:

    $ . venv/Scripts/activate
    $ pip install Django-registration-redux==2.0
    
    但是我的服务器不在venv中,因此它找不到包


    停止服务器,在该窗口中输入venv,然后重新启动服务器,一切正常。

    这不会给出该错误。无论如何,他特别声明他已经将它添加到settings.py.+1中-这可能会帮助像我这样的新手。谢谢当我创建一个“apps”文件夹时,我总是忘记这样做,我会把头发拔出来(好吧,我没有头发,但你明白了),直到我记得在apps文件夹中放一个init.py文件。
    INSTALLED_apps
    似乎列出了Django应用程序使用的所有pip包。没有一个文件夹直接位于Django项目中settings.py所在的位置?还要检查以确保您没有安装注册的dif v(即Django注册redux等全部)“…myproject.settings”,并检查您想要的环境是否已激活
    $ . venv/Scripts/activate
    $ pip install Django-registration-redux==2.0