我之前从未与Django合作过。我接手了另一个程序员开始的Django项目,他现在已经不在了。代码中有一些神奇的事情我不明白。例如,在此文件中:
urls.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"是这个文件中的一些配置:
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'
不知何故,这是一个实际有效的网址:
/accounts/signup/
此文件完全空白:
settings/__init__.py
所以我有两个问题:
如何"导入设置"设法神奇地导入allauths?
/accounts/signup/
如何映射到实际视图?我在urls.py和设置中都没有看到任何内容,这会让我认为/accounts/signup/
是一个有效的网址。
答案 0 :(得分:2)
/ accounts / signup /如何映射到实际视图?我在urls.py中没有看到任何内容,也没有在设置中看到,这会让我认为/ accounts / signup /是一个有效的网址。
url(r'^ accounts /',include('allauth.urls')),
app中有另一个urls文件名为allauth,如果它是通过“pip”安装的,你可以在以下目录“lib / python * / site-package / allauth”中找到它
ps allauth是一个众所周知的第三方应用程序,你可以快速谷歌搜索django allauth,你会发现它
“导入设置”如何能够神奇地导入真相?
它没有导入设置用于其他东西,例如像那样设置静态文件URL
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)