Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.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
为什么这个URL在Django中工作?它不在url.py中_Django_Routing - Fatal编程技术网

为什么这个URL在Django中工作?它不在url.py中

为什么这个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

我以前从未和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 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的内容

  • 如何/帐户/注册/映射到实际视图?我在url.py和settings中都没有看到任何让我认为/accounts/signup/是有效的url的内容

    url(r“^accounts/”,包括('allauth.url')

    应用程序中还有一个名为allauth的URL文件,如果它是由“pip”安装的,您可以在以下目录“lib/python*/site package/allauth”中找到它

    • =您正在使用的python版本,例如2.7或3.5
    ps allauth是一款知名的第三方应用程序,你可以在谷歌上快速搜索django allauth,你会找到它的

    “导入设置”如何神奇地导入所有权限

    它不导入设置用于其他用途,例如设置静态文件url

    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
    ps allauth是一款知名的第三方应用程序,你可以在谷歌上快速搜索django allauth,你会找到它的

    “导入设置”如何神奇地导入所有权限

    它不导入设置用于其他用途,例如设置静态文件url

    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路径中。