我不能为我的生活找出为什么我的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.
答案 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 }}" >
我有这个权利!然而现在它显示了它的全尺寸图像,不幸的是它可能比窗口大很多,所以这是下一个需要解决的问题!