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