为什么这个URL在Django中工作?它不在url.py中
我以前从未和Django一起工作过。我正在接管一个Django项目,这个项目是由另一个程序员启动的,他已经离开很久了。代码中发生了一些我不理解的魔法。例如,在此文件中:为什么这个URL在Django中工作?它不在url.py中,django,routing,Django,Routing,我以前从未和Django一起工作过。我正在接管一个Django项目,这个项目是由另一个程序员启动的,他已经离开很久了。代码中发生了一些我不理解的魔法。例如,在此文件中: urls.py settings/common.py 我看到: from django.conf.urls import url, include from django.contrib import admin from django.core.urlresolvers import reverse_lazy from d
urls.py
settings/common.py
我看到:
from django.conf.urls import url, include
from django.contrib import admin
from django.core.urlresolvers import reverse_lazy
from django.views.generic.base import RedirectView
from django.conf import settings
from core import views as core_views
from sugarlab.search.views import validate_collections, create_document, delete_interest, rename_interest, add_url, my_interests
from sugarlab.search.views import content, score, terms
from django.contrib.auth.views import logout as django_logout
from django.conf.urls.static import static
admin.autodiscover()
urlpatterns = [
url(r'^admin/logout/$', django_logout,
{'next_page': '/'}),
url(r'^admin/', admin.site.urls),
url(r'^accounts/logout/$', django_logout,
{'next_page': '/'}),
url(r'^accounts/', include('allauth.urls')),
url(r'^unsecured/$', core_views.home),
令人困惑的是这两行:
from django.conf import settings
url(r'^accounts/', include('allauth.urls')),
“allauths”是此文件中的一些配置集:
urls.py
settings/common.py
数据如下所示:
'allauth',
'allauth.account',
'allauth.socialaccount',
'django.contrib.auth',
'django.contrib.sites',
# Social/3rd party Authentication apps
'allauth.socialaccount.providers.linkedin_oauth2',
'captcha'
不知何故,这是一个实际工作的URL:
/accounts/signup/
此文件完全为空:
settings/__init__.py
所以我有两个问题:
/accounts/signup/
如何映射到实际视图?我在url.py和settings中都没有看到任何让我认为/accounts/signup/
是有效的url的内容- =您正在使用的python版本,例如2.7或3.5
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
如何/帐户/注册/映射到实际视图?我在url.py和settings中都没有看到任何让我认为/accounts/signup/是有效的url的内容
url(r“^accounts/”,包括('allauth.url')
应用程序中还有一个名为allauth的URL文件,如果它是由“pip”安装的,您可以在以下目录“lib/python*/site package/allauth”中找到它
- =您正在使用的python版本,例如2.7或3.5
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
我不明白你的问题。您的url.py在/accounts/下显式包含allauth URL。没有什么神奇的事情发生。导入设置与此处无关。allauth来自哪里?它不是一个文件。它在settings/common.py中。不,不是。这是一个你已经安装的应用程序,在你的项目的Python路径中。我不理解你的问题。您的url.py在/accounts/下显式包含allauth URL。没有什么神奇的事情发生。导入设置与此处无关。allauth来自哪里?它不是一个文件。它在settings/common.py中。不,不是。它是您已安装的应用程序,位于项目的Python路径中。