如何在管理页面中上传文件后执行功能..?

时间:2014-10-23 09:47:03

标签: python django

我的data_report函数只解析xml文件并将这些值保存到数据库中。但要求是admin只能上传excel文件。

所以问题是......

  1. 如果管理员可以将文件上传到服务器,我该如何处理文件?...(之后 保存..?)
  2. 管理员网址http://localhost.com:8000/admin/reports/可以重定向到功能页面。?
  3. 以下代码用于admin / reports

    def get_admin_urls(urls):
        def get_urls():
            my_urls = patterns('',
                (r'^reports/$', admin.site.admin_view(data_report))
            )
           return my_urls + urls
        return get_urls
    
    admin_urls = get_admin_urls(admin.site.get_urls())
    admin.site.get_urls = admin_urls
    

    同样问题是......

    • 如何在管理应用页面中添加链接..
    • 我不知道如何在文件上传后重定向到管理页面。?

    但你知道链接是什么工作但我无法访问其他管理页面,错误是

    Reverse for 'app_list' with arguments '()' and keyword arguments '{'app_label': u'default'}' not found. 1 pattern(s) tried: [u'admin/(?P<app_label>auth|dsp|sites)/$']
    

    可以帮我解决这个问题..?

1 个答案:

答案 0 :(得分:0)

据我了解,uploading表示在您的情况下,选择一个文件并点击管理员中的save按钮,对吗?

在这种情况下,您可以覆盖此模型的save方法,然后该方法应解析并保存到其他模型中或保存到其自身等等

class MyModelAdmin(admin.ModelAdmin):

  def save_model(self, request, obj, form, change):
      xmlfile = form.cleaned_data['your_xmlfile_fieldname'] 
      # parse and stuff
      obj.save()