Python 在哪里可以找到';的源文件;admin.site.url';?
在我的urls.py中,我有一行代码('include(admin.site.urls)。但是我在python的setup dir中找不到源文件,比如..\site packages\django\contrib\admin它们在哪里?在python中,模块可以从包的Python 在哪里可以找到';的源文件;admin.site.url';?,python,django,django-admin,admin,Python,Django,Django Admin,Admin,在我的urls.py中,我有一行代码('include(admin.site.urls)。但是我在python的setup dir中找不到源文件,比如..\site packages\django\contrib\admin它们在哪里?在python中,模块可以从包的\uu init\uuuuuuuu.py中加载;它不需要是同一目录中的文件 如果您在django/contrib/admin/_init__.py中查看,您将看到: 从django.contrib.admin.sites导入Admi
\uu init\uuuuuuuu.py
中加载;它不需要是同一目录中的文件
如果您在django/contrib/admin/_init__.py
中查看,您将看到:
从django.contrib.admin.sites导入AdminSite,site
因此,如果您查看django/contrib/admin/sites.py
,您将看到:
site=AdminSite()
(在底部)
def get_URL(自):
从django.conf.url导入模式url,包括
如果设置为.DEBUG:
self.check_依赖项()
def wrap(视图,可缓存=False):
def包装(*args,**kwargs):
返回self.admin_视图(视图,可缓存)(*args,**kwargs)
返回更新包装(包装,视图)
#管理站点范围的视图。
urlpatterns=模式(“”,
url(r'^$',
包装(自索引),
name='index'),
url(r“^logout/$”,
包装(自动注销),
name='logout'),
url(r“^password\u change/$”,
换行(self.password\u change,cacheable=True),
name='password\u change'),
url(r“^password\u change/done/$”,
包装(self.password\u change\u done,cacheable=True),
name='password\u change\u done'),
url(r“^jsi18n/$”,
wrap(self.i18n_javascript,cacheable=True),
name='jsi18n'),
url(r'^r/(?P\d+)/(?P+)/$),
换行(contenttype_views.shortcut),
name='view_on_site',
url(r'^(?P\w+/$),
包装(自我应用程序索引),
name='app_list')
)
#添加每个模型的视图。
对于模型,六个.iteritems(self.\u注册表)中的模型\u admin:
urlpatterns+=模式(“”,
url(r'^%s/%s/'%(模型.\u meta.app\u标签,模型.\u meta.module\u名称),
包括(model_admin.url))
)
返回URL模式
@财产
def URL(自):
返回self.get_url(),self.app_name,self.name
注意:URL映射以获取_URL()
def get_urls(self):
from django.conf.urls import patterns, url, include
if settings.DEBUG:
self.check_dependencies()
def wrap(view, cacheable=False):
def wrapper(*args, **kwargs):
return self.admin_view(view, cacheable)(*args, **kwargs)
return update_wrapper(wrapper, view)
# Admin-site-wide views.
urlpatterns = patterns('',
url(r'^$',
wrap(self.index),
name='index'),
url(r'^logout/$',
wrap(self.logout),
name='logout'),
url(r'^password_change/$',
wrap(self.password_change, cacheable=True),
name='password_change'),
url(r'^password_change/done/$',
wrap(self.password_change_done, cacheable=True),
name='password_change_done'),
url(r'^jsi18n/$',
wrap(self.i18n_javascript, cacheable=True),
name='jsi18n'),
url(r'^r/(?P\d+)/(?P.+)/$',
wrap(contenttype_views.shortcut),
name='view_on_site'),
url(r'^(?P\w+)/$',
wrap(self.app_index),
name='app_list')
)
# Add in each model's views.
for model, model_admin in six.iteritems(self._registry):
urlpatterns += patterns('',
url(r'^%s/%s/' % (model._meta.app_label, model._meta.module_name),
include(model_admin.urls))
)
return urlpatterns
@property
def urls(self):
return self.get_urls(), self.app_name, self.name