Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.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
扩展Django管理视图不起作用_Django_Django Models_Django Admin_Django Views - Fatal编程技术网

扩展Django管理视图不起作用

扩展Django管理视图不起作用,django,django-models,django-admin,django-views,Django,Django Models,Django Admin,Django Views,下面是扩展ModelAdmin并使用我们自己的页面的代码。然而,regex并没有被接受。下面给出了匹配的正则表达式列表,但我尝试扩展的正则表达式没有被使用,因此不在列表中。有人能帮忙吗 class EmployeePayslipAdmin(admin.ModelAdmin): """docstring for PayslipAdmin""" def get_urls(self): from django.conf.urls.defaults import patt

下面是扩展ModelAdmin并使用我们自己的页面的代码。然而,regex并没有被接受。下面给出了匹配的正则表达式列表,但我尝试扩展的正则表达式没有被使用,因此不在列表中。有人能帮忙吗

class EmployeePayslipAdmin(admin.ModelAdmin):
    """docstring for PayslipAdmin"""
    def get_urls(self):
        from django.conf.urls.defaults import patterns, url
        def wrap(view):
            def wrapper(*args, **kwargs):
                return self.admin_site.admin_view(view)(*args, **kwargs)
            return update_wrapper(wrapper, view)

        info = self.model._meta.app_label, self.model._meta.module_name

        urls = super(EmployeePayslipAdmin, self).get_urls()
        my_urls = patterns('',
            url(
                r'/HRMS/mos/employeepayslip/',
                wrap(self.employee_view),
                name='%s_%s_payslip' % info),
        )
        print info
        return my_urls + urls

    def employee_view(self,request, id):
        print "working"
        return render_to_response(
            'mytemplate.html',
            {'list' : Employee.objects.all()},
                 RequestContext(request,{}),
        )
这段代码不知何故不起作用。我试图使用那个URL,但django不接受它。它给出了它访问的URL列表,上面的一个不是其中之一

Using the URLconf defined in NGOMgt.urls, Django tried these URL patterns, in this order:
^admin/ ^$ [name='index']
^admin/ ^logout/$ [name='logout']
^admin/ ^password_change/$ [name='password_change']
^admin/ ^password_change/done/$ [name='password_change_done']
^admin/ ^jsi18n/$ [name='jsi18n']
^admin/ ^r/(?P<content_type_id>\d+)/(?P<object_id>.+)/$ [name='view_on_site']
^admin/ ^(?P<app_label>\w+)/$ [name='app_list']
^admin/ ^Accounts/recievefund/
^admin/ ^Accounts/payfund/
^admin/ ^auth/group/
^admin/ ^HRMS/employee/
^admin/ ^Project/project/
^admin/ ^Accounts/paymenthead/
^admin/ ^Project/projectprogress/
^admin/ ^HRMS/employeepayslip/
^admin/ ^auth/user/
^admin/ ^Accounts/incomehead/
^admin/ ^sites/site/
^admin/ ^HRMS/payslip/
^grappelli/
Django使用NGOMgt.URL中定义的URLconf,按以下顺序尝试了这些URL模式:
^管理员/^$[name='index']
^管理员/^logout/$[name='logout']
^管理员/^password\u change/$[name='password\u change']
^admin/^password\u change/done/$[name='password\u change\u done']
^admin/^jsi18n/$[name='jsi18n']
^admin/^r/(?P\d+)/(?P+)/$[name='view_on_site']
^管理员/^(?P\w+)/$[name='app\u list']
^管理员/^帐户/收款基金/
^管理员/^帐户/支付基金/
^管理员/^auth/组/
^管理员/^HRMS/员工/
^管理员/^项目/项目/
^管理员/^帐户/付款头/
^管理员/^项目/项目进度/
^管理员/^HRMS/EmployeePaysslip/
^管理员/^auth/用户/
^管理员/^Accounts/incomehead/
^管理员/^站点/站点/
^管理员/^HRMS/工资单/
^格斗/

可能有什么问题?

请参见中的注释框,该框中的URL包含在管理员的URL下。因此,假设你的应用程序是HRMS,你的模型是EmployeePaySlip,那么URL将是
/admin/HRMS/EmployeePaySlip/HRMS/mos/EmployeePaySlip/
,这可能不是你想要的。

实际上,这只是一个例子,事实上,我想劫持URL/admin/HRMS/EmployeePaySlip/而且,即使这不能改变URL,它仍然应该尝试匹配它,我认为这在django任何地方都是不允许的。