【问题标题】:where can i find the source file of 'admin.site.urls'?我在哪里可以找到“admin.site.urls”的源文件?
【发布时间】:2013-11-24 00:48:18
【问题描述】:

在我的 urls.py 中,我有一行代码 ('include(admin.site.urls)。但是我在 python 的安装目录中找不到源文件,例如 ..\site-packages\django\ contrib\admin 他们在哪里?

【问题讨论】:

    标签: python django django-admin admin


    【解决方案1】:

    在python中,可以从包的__init__.py中加载模块;它不需要是同一目录中的文件。

    如果您查看django/contrib/admin/__init__.py,您将看到: from django.contrib.admin.sites import AdminSite, site

    那么,如果你查看django/contrib/admin/sites.py,你会看到:

    site = AdminSite()(在底部)

    def get_urls(self):
            从 django.conf.urls 导入模式,url,包括
    
            如果设置。调试:
                self.check_dependencies()
    
            def wrap(view, cacheable=False):
                def 包装器(*args,**kwargs):
                    return self.admin_view(view, cacheable)(*args, **kwargs)
                返回 update_wrapper(包装器,视图)
    
            # 管理站点范围的视图。
            urlpatterns = 模式('',
                网址(r'^$',
                    换行(self.index),
                    名称='索引'),
                url(r'^注销/$',
                    换行(self.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'),
                网址(r'^jsi18n/$',
                    wrap(self.i18n_javascript, cacheable=True),
                    名称='jsi18n'),
                url(r'^r/(?P\d+)/(?P.+)/$',
                    换行(contenttype_views.shortcut),
                    名称='view_on_site'),
                网址(r'^(?P\w+)/$',
                    换行(self.app_index),
                    名称='app_list')
            )
    
            # 添加每个模型的视图。
            对于模型,model_admin 在 Six.iteritems(self._registry) 中:
                urlpatterns += 模式('',
                    url(r'^%s/%s/' % (model._meta.app_label, model._meta.module_name),
                        包括(model_admin.urls))
                )
            返回 url 模式
    
        @财产
        默认网址(自我):
            返回 self.get_urls()、self.app_name、self.name
    

    注意:url 映射到 get_urls()

    【讨论】:

      猜你喜欢
      • 2011-10-14
      • 1970-01-01
      • 1970-01-01
      • 2013-11-01
      • 1970-01-01
      • 2016-09-18
      • 1970-01-01
      • 1970-01-01
      • 2014-11-25
      相关资源
      最近更新 更多