Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.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
在Python/Django中导入应用程序时出现问题_Python_Django - Fatal编程技术网

在Python/Django中导入应用程序时出现问题

在Python/Django中导入应用程序时出现问题,python,django,Python,Django,我在将“注册”应用程序导入任何python脚本时遇到问题(PyCharm显示错误-“未解析的引用“注册”)Django registration redux已经安装并可以正常加载,例如从URL.py加载。我自己的应用程序也有问题,我从来没有遇到过问题。在以下url.py中,用户配置文件也无法识别。如何将文件夹级别向上而不是向下,我知道,如果要进入文件夹,每个文件夹都包含一个点,但是如何返回?这可能与本例无关,但一般而言。这是我的项目布局: |--'project' | |--'Lib' |

我在将“注册”应用程序导入任何python脚本时遇到问题(PyCharm显示错误-“未解析的引用“注册”)
Django registration redux
已经安装并可以正常加载,例如从
URL.py
加载。我自己的应用程序也有问题,我从来没有遇到过问题。在以下
url.py
中,用户配置文件
也无法识别。如何将文件夹级别向上而不是向下,我知道,如果要进入文件夹,每个文件夹都包含一个点,但是如何返回?这可能与本例无关,但一般而言。这是我的项目布局:

|--'project'
|   |--'Lib'
|   |   |--'site-packages'
|   |   |   |--'registration'
|   |--'src'
|   |   |--'proj'
|   |   |   |-- settings.py
|   |   |   |-- urls.py
|   |   |--'user_profile'
|   |   |   |-- forms.py
url.py

from django.conf import settings
from django.conf.urls import url, include
from django.conf.urls.static import static
from django.contrib import admin
import user_profile.views as views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$', views.home),
    url(r'^accounts/', include('registration.backends.default.urls')),
]
from registration.forms import RegistrationFormUniqueEmail
from django import forms

class UserProfileRegistrationForm(RegistrationFormUniqueEmail):
    field = forms.CharField()
    import os

    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

        INS

TALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.sites',  # manually added
        'django.contrib.messages',
        'django.contrib.staticfiles',
        # third party apps
        'crispy_forms',
        'debug_toolbar',
        # my apps
        'user_profile',
        'registration',
    ]
forms.py

from django.conf import settings
from django.conf.urls import url, include
from django.conf.urls.static import static
from django.contrib import admin
import user_profile.views as views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$', views.home),
    url(r'^accounts/', include('registration.backends.default.urls')),
]
from registration.forms import RegistrationFormUniqueEmail
from django import forms

class UserProfileRegistrationForm(RegistrationFormUniqueEmail):
    field = forms.CharField()
    import os

    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

        INS

TALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.sites',  # manually added
        'django.contrib.messages',
        'django.contrib.staticfiles',
        # third party apps
        'crispy_forms',
        'debug_toolbar',
        # my apps
        'user_profile',
        'registration',
    ]
设置.py

from django.conf import settings
from django.conf.urls import url, include
from django.conf.urls.static import static
from django.contrib import admin
import user_profile.views as views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$', views.home),
    url(r'^accounts/', include('registration.backends.default.urls')),
]
from registration.forms import RegistrationFormUniqueEmail
from django import forms

class UserProfileRegistrationForm(RegistrationFormUniqueEmail):
    field = forms.CharField()
    import os

    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

        INS

TALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.sites',  # manually added
        'django.contrib.messages',
        'django.contrib.staticfiles',
        # third party apps
        'crispy_forms',
        'debug_toolbar',
        # my apps
        'user_profile',
        'registration',
    ]
你不会“回去”,因为你不在任何可以回去的地方

Python使用PYTHONPATH环境变量来确定从何处导入内容。virtualenv将自动将其根目录和站点包目录放入该变量中。如果您的virtualenv是“project”目录,您可能需要从src.user\u概要文件导入视图执行
,您不会“返回”,因为您不在任何可以返回的位置


Python使用PYTHONPATH环境变量来确定从何处导入内容。virtualenv将自动将其根目录和站点包目录放入该变量中。如果您的virtualenv是“project”目录,您可能需要从src.user\u概要文件导入视图执行
,您可以使用称为“相对导入”的操作。假设您需要从forms.py访问设置,您可以这样做

import from ..settings import YOUR_SETTING

希望这有帮助

您可以使用所谓的“相对导入”。假设您需要从forms.py访问设置,您可以这样做

import from ..settings import YOUR_SETTING

希望这有帮助

在PyCharm中,转到
文件->设置
。在左侧的选项卡中,选择
Project:->Project解释器
,然后选择到virtualenv的路径。这将使PyCharm能够识别安装在virtualenv中的软件包


至于你自己的应用程序的问题,关于相对导入和绝对导入的优缺点。

在PyCharm中,转到
文件->设置。在左侧的选项卡中,选择
Project:->Project解释器
,然后选择到virtualenv的路径。这将使PyCharm能够识别安装在virtualenv中的软件包


至于你自己的应用程序的问题,关于相对导入和绝对导入的优缺点。

看来我已经做到了-
来自project.src.user\u profile import view
。因此,
user\u profile
被解析。但是我不能用同样的方法来引用
注册
。Python似乎不喜欢
站点包
,也许它只是一个破折号?如何在没有额外参考的情况下访问这些应用程序,我可以更改
settings.py
,这样我就可以从用户_profile import view
import registration
简单地说
。对不起,我的评论太长了!正如我所说,站点包已经在您的python路径上了,所以您只需要从注册导入中执行
。看起来我正在从project.src.user\u概要文件导入视图中执行
。因此,
user\u profile
被解析。但是我不能用同样的方法来引用
注册
。Python似乎不喜欢
站点包
,也许它只是一个破折号?如何在没有额外参考的情况下访问这些应用程序,我可以更改
settings.py
,这样我就可以从用户_profile import view
import registration
简单地说
。对不起,我的评论太长了!正如我所说,站点包已经在您的python路径上,所以您只需要从注册导入中执行
。是的,我使用的是VirtualEnv是的,我使用的是VirtualEnv非常感谢,我一直都在调整PyCharm设置!非常感谢,我一直都在调整PyCharm设置!