不要重定向到动态u

2024-04-20 02:43:49 发布

您现在位置:Python中文网/ 问答频道 /正文

为什么我不能用我的代码去动态url,比如http://127.0.0.1:8000/movie/xyzxyz是电影名称。Demo是我模特的名字。你知道吗

这是我的视图.py地址:

from django.shortcuts import render 
from .models import Demo 

def home(request):
    movie_list = Demo.objects.all()
    return render(request, 'home.html', {movie_list': movie_list,})

def movie_detail(request,title):
    detail = Demo.objects.get(title=title)
    return render(request, 'detail.html', {'detail': detail})

你知道吗网址.py地址:

from django.conf.urls import include, url
from django.contrib import admin
from netflix.views import home,movie_detail

urlpatterns = [url(r'^admin/', include(admin.site.urls)),
               url(r'^movie', home),
               url(r'^movie/(?P<title>.*)/$', movie_detail, name='movie_detail')]

你知道吗详细信息.html地址:

<div class="container-fluid">
  <div class="row">
<div class="card mb-3">
  <img class="card-img-top" src="{{detail.img_url}}" alt="Card image cap">
  <div class="card-body">
    <h5 class="card-title">{{detail.title}}</h5> 
  </div>
</div>

Tags: djangofromimportdivurlhometitledemo
2条回答

您需要在/movie URL中添加一个终止的$,否则它会将所有开始的都与该字符串匹配。你知道吗

url(r'^movie$', home),

你可以这样做:

urlpatterns = [
    url(r'^movie/(?P<title>\d+)/$', movie_detail, name='movie_detail')
]

相关问题 更多 >