Python Django不';t呈现请求的视图

Python Django不';t呈现请求的视图,python,django,urlconf,Python,Django,Urlconf,人们。我是Django的初学者,如果这是一个基本问题,我很抱歉 我有一个显示电影列表的网页,每部电影都有一个详细视图,但由于某些原因,详细视图从未呈现 #views.py def index(request): latest_movies = Movie.objects.order_by('-movie_id')[:5] template = loader.get_template('ytsmirror/index.html') context = {

人们。我是Django的初学者,如果这是一个基本问题,我很抱歉

我有一个显示电影列表的网页,每部电影都有一个详细视图,但由于某些原因,详细视图从未呈现

#views.py

def index(request):
    latest_movies = Movie.objects.order_by('-movie_id')[:5]

    template = loader.get_template('ytsmirror/index.html')
    context = {
        'latest_movies' : latest_movies,
    }

    return HttpResponse(template.render(context, request))

def detail(request, movie_id):

    movie = Movie.objects.get(movie_id=movie_id)
    template = loader.get_template('ytsmirror/details.html')

    context = {
        'movie' : movie,
        'plot': 'Lorem impsum',
    }

    return HttpResponse(template.render(context, request))
还有我的URL.py

#urls.py

from django.conf.urls import url

from . import views

app_name = 'ytsmirror'
urlpatterns = [
  url(r'$', views.index, name='index'),
  url(r'^(?P<movie_id>\d{4})$', views.detail, name='detail'),
]
#url.py
从django.conf.url导入url
从…起导入视图
应用程序名称='ytsmirror'
URL模式=[
url(r'$',views.index,name='index'),
url(r'^(?P\d{4})$',views.detail,name='detail'),
]
例如,当我尝试访问/ytsmirror/4200/时,我没有得到任何错误,Django显然达到了正确的URL模式,但没有呈现详细信息视图,它停留在索引视图上,没有任何更改

我做错了什么?谢谢。

url(r'$',views.index,name='index')
匹配字符串的结尾,因此基本上它将匹配任何url,这就是代码无法工作的原因。您需要将
url(r'$',views.index,name='index')
替换为
url(r'^$',views.index,name='index')
,以便它只匹配空url

^
断言字符串开头的位置


$
在字符串结尾处或字符串结尾处的行终止符(如果有)之前断言位置。

尝试将url(r'$',views.index,name='index')替换为:url(r'^$',views.index,name='index'),这样做有效。谢谢“你能解释一下发生了什么吗?”毕达德的解释是正确的。