使用Django get_absolute_url在模板中显示图像

使用Django get_absolute_url在模板中显示图像,django,django-templates,Django,Django Templates,我正在尝试使用get_absolute_url模型方法在模板中显示图像 型号: class UserData(models.Model): ...... photo = models.ImageField(upload_to = 'photo/', blank=True) def __unicode__(self): return '%s%s' %(self.last_name, self.photo) def get_absolute_url(

我正在尝试使用get_absolute_url模型方法在模板中显示图像

型号:

class UserData(models.Model):
    ......
    photo = models.ImageField(upload_to = 'photo/', blank=True)
    def __unicode__(self):
        return '%s%s' %(self.last_name, self.photo)

    def get_absolute_url(self):
        return reverse("user_edit", kwargs={"pk": self.id)
网址:

我收到错误消息:

NoReverseMatch at /entry/1/edit/
Reverse for 'user_edit' with arguments '()' and keyword arguments '{'pk': 1,'photo': <ImageFieldFile: photo/_IGP7076.jpg>}' not found. 1 pattern(s) tried: ['entry/(?P<pk>\\d+)/edit/$']
NoReverseMatch at/entry/1/edit/
找不到参数为“()”且关键字参数为“{'pk':1,'photo':}”的“user_edit”的反转。已尝试1个模式:['entry/(?P\\d+)/edit/$']

怎么了?提前感谢。

您的url模式不匹配:

url(r'^entry/(?P<pk>\d+)/edit/$',views.UserUpdateView.as_view(), name='user_edit')
url(r'^entry/(?P\d+)/edit/$,views.UserUpdateView.as\u view(),name='user\u edit')
应该是:

url(r'^entry/(?P<pk>\d+)/(?P<photo>[^\/]*)/edit/$',views.UserUpdateView.as_view(), name='user_edit')
url(r'^entry/(?P\d+)/(?P[^\/]*)/edit/$”,views.UserUpdateView.as\u view(),name='user\u edit')
但我不会通过urlconf传递照片url。为此,你应该重新考虑你的应用程序设计


由于您的上下文中有用户对象,因此您可以通过
user.photo.url
检索他的照片url,而无需在url中传递照片

您的url模式不匹配:

url(r'^entry/(?P<pk>\d+)/edit/$',views.UserUpdateView.as_view(), name='user_edit')
url(r'^entry/(?P\d+)/edit/$,views.UserUpdateView.as\u view(),name='user\u edit')
应该是:

url(r'^entry/(?P<pk>\d+)/(?P<photo>[^\/]*)/edit/$',views.UserUpdateView.as_view(), name='user_edit')
url(r'^entry/(?P\d+)/(?P[^\/]*)/edit/$”,views.UserUpdateView.as\u view(),name='user\u edit')
但我不会通过urlconf传递照片url。为此,你应该重新考虑你的应用程序设计


由于您的上下文中有用户对象,因此您可以通过
user.photo.url
检索他的照片url,而无需在url中传递照片

如果您的
媒体设置配置正确,您可以使用
url
属性检索图像的相对路径,如下所示:

<img src="{{ userdata.photo.url }}"/>


如果您的
媒体设置配置正确,您可以使用
url
属性检索图像的相对路径,如下所示:

<img src="{{ userdata.photo.url }}"/>


您是否定义了一个名为
“user\u edit”
的url,该url接受
pk
photo
作为命名参数?如果您最初的实现只与
pk
一起工作,那么URL只接受那么多。如果还需要传递
照片
,则需要修改url模式。请为
user\u edit
添加url模式。url模式存在,添加在上面它确实存在,但它只有一个命名参数
pk
,而不是
照片
。这就是您收到错误的原因。您希望通过在url中传递
照片
来实现什么?我想在页面上显示照片。请帮助更新url。您是否定义了一个名为
“user_edit”
的url,该url接受
pk
photo
作为命名参数?如果您最初的实现只与
pk
一起工作,那么URL只接受那么多。如果还需要传递
照片
,则需要修改url模式。请为
user\u edit
添加url模式。url模式存在,添加在上面它确实存在,但它只有一个命名参数
pk
,而不是
照片
。这就是您出现错误的原因。通过在url中传递
照片
,您希望实现什么?我想在页面上显示照片。请帮助更新url。