Django url confs不匹配

时间:2014-11-02 15:47:20

标签: python django

我不能为我的生活找出为什么我的URL配置不会指向django中的页面。

我正在尝试访问底部错误消息中显示的网址(无法获取转义链接,抱歉)

YellowOrangeFoxZebra是一个有效的imgID,在模型中正确定义。

imgApp/urls.py

from django.conf.urls import patterns, url
from imgApp import views
urlpatterns = patterns('',
    url(r'^$', views.index, name='index'),
    url(r'^(?P<imgID>\d+)/$', views.detail, name='detail'),
)

views.py

def detail(request, given_image_ID):
image = get_object_or_404(imgAppImage, imgID=given_image_ID)
return render(request, 'imgApp/detail.html', image)

detail.html

<img src="{{ image.imgFile.url }}" >

我从django回来的错误信息是:

Page not found (404)
Request Method: GET
Request URL:    http://127.0.0.1:8000/imgApp/YellowOrangeFoxZebra/
Using the URLconf defined in thatSite.urls, Django tried these URL patterns, in this order:
^imgApp/ ^$ [name='index']
^imgApp/ ^(?P<imgID>\d+)/$ [name='detail']
^imgApp/ ^(?P<pk>\d+)/results/$ [name='results']
^imgApp/ ^(?P<question_id>\d+)/vote/$ [name='vote']
^admin/
^media/(?P<path>.*)$
The current URL, imgApp/YellowOrangeFoxZebra/, didn't match any of these.

1 个答案:

答案 0 :(得分:1)

感谢上面的Avinash Raj纠正我的正则表达式中的错误。我已经修复了修复后出现在代码中的所有问题,一些类型的错误,以及后人在下面发布了正确版本的代码:

imgApp/urls.py

from django.conf.urls import patterns, url
from imgApp import views
urlpatterns = patterns('',
    url(r'^$', views.index, name='index'),
    url(r'^(?P<inputID>\w+)/$', views.detail, name='detail'),
)

我用w +交换了d +,并修复了它!当需要寻找单词时,它正在寻找数字。


views.py

def detail(request, inputID):
    image = get_object_or_404(imgAppImage, imgID=inputID)
    context = {'image': image}
    return render(request, 'imgApp/detail.html', context)

为了清晰起见,我将given_image_ID重命名为inputID,添加了行定义上下文,并在渲染调用中用上下文替换了图像


detail.html

<img src="{{ image.imgFile.url }}" >

我有这个权利!然而现在它显示了它的全尺寸图像,不幸的是它可能比窗口大很多,所以这是下一个需要解决的问题!