【问题标题】:Calling default add/delete method of Django admin from template从模板调用 Django admin 的默认添加/删除方法
【发布时间】:2013-05-18 17:02:26
【问题描述】:

我需要添加一个功能,任何人都可以在我的图像应用程序中添加新图像。

所以我在模板中提供了一个添加图像应用程序链接。该链接默认调用models.py中Photo模型的Add方法,即

class Image(models.Model):
title = models.CharField(max_length=60)

我的 html 文件是这样的

 <h3><a href="{% url photoapp.views.main %}">PhotoApp</a></h3>
            {% if user.is_staff %}
            <a href='{% url admin:index %}'>Admin</a>
            <a href="{% url admin:photoapp.add_image %}">Add Image</a>
           <a href="{% url photoapp.views.search %}">Search</a>
            {% endif %}

这里显示了

Caught NoReverseMatch while rendering: Reverse for 'photoapp.add_image' with arguments '()' and keyword arguments '{}' not found.

我的项目名称是包含 photoapp 的照片

photo
    photoapp
        models.py
        views.py
    templates
        photo
            list.html
        admin
            base_site.html
    settings.py
    urls.py

请告诉我如何从 .html 文件中调用默认添加模型函数

编辑

添加了 url.py

urlpatterns = patterns('',

# Uncomment the next line to enable the admin:
 url(r'^admin/', include(admin.site.urls)),
 url(r'^(\d+)/$', photo.photoapp.views.album),
 url(r'^(\d+)/(full|thumbnails|edit)/$', photo.photoapp.views.album),
 url(r'^update/$', photo.photoapp.views.update),
 url(r'^search/$', photo.photoapp.views.search),
 url(r'^image/(\d+)/$', photo.photoapp.views.image),
 url(r'', photo.photoapp.views.main),

)

if settings.DEBUG:
    urlpatterns += patterns('django.views.static',
    (r'media/(?P<path>.*)$', 'serve', {'document_root': settings.MEDIA_ROOT}),
)

【问题讨论】:

  • 哪个版本的 Django?向我们展示 photoapp 的网址。
  • 你有 url/view add_image 吗?
  • @Bibhas - Django 1.3 以上更新
  • @Aldarund -- 不,我没有。我认为它添加图像(图像是模型)将是管理员的默认属性。如果我遗漏了什么,请告诉我
  • @user2098662 我认为最好使用网址更新您的问题,而不是发表评论。

标签: django django-admin django-templates


【解决方案1】:

您的 app_name 是 photoapp,型号名称是 Image。

要在模板中使用 admin 的 Add Image 应用程序链接,请编写代码

{% url admin:photoapp_image_add %}

它提供 url - /photoapp/image/add/

【讨论】:

  • 谢谢。有效。我一直认为我们需要编写 appname.add_model 来访问 add 方法。
猜你喜欢
  • 2011-01-21
  • 2016-03-13
  • 2017-01-22
  • 1970-01-01
  • 2021-09-01
  • 2021-06-05
  • 2013-05-11
  • 2022-10-23
  • 2023-03-09
相关资源
最近更新 更多