我试图用动态url打开海报里面的内容,但我面临问题 我的代码是包含一些电影海报的简单网页,当我点击海报时,新页面中的新模板应该打开哪显示这张海报的信息。Django动态网址
但每当我在海报相同的模板(的index.html)点击在新页面,而不是打开page.html中
如
127.0.0.1:8000/home是网页所有的海报,我点击poster1与id = 1然后在新的页面127.0.0.1/home/1将打开,但它仍然是index.html与所有海报不page.html其中poster1 id = 1的内容是存储。
这里是我的代码
主页/ models.py
from django.db import models
class Poster(models.Model):
poster_name = models.CharField(max_length=20)
poster_img = models.FileField(upload_to="poster_image/")
def __str__(self):
return self.poster_name
class Poster_page(models.Model):
poster = models.ForeignKey(Poster, default= 1)
poster_name = models.CharField(max_length=20)
poster_img = models.FileField()
poster_details = models.TextField()
主页/ views.py
from django.shortcuts import render_to_response
from .models import Poster, Poster_page
def poster(request):
pos = Poster.objects.all()
return render_to_response('index.html', {'pos':pos})
def poster_page(request, id=1):
poster_pg = Poster_page.objects.all()
return render_to_response('page.html', {'poster_pg':poster_pg})
homepage.url
from django.conf.urls import url
from.views import poster, poster_page
urlpatterns = [
url(r'^',poster),
url(r'^home/(?P<id>/d+)/$', poster_page),
]
poster.url
from django.conf.urls import url, include
from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^home/',include('homepage.urls', namespace='home'))
]
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL,
document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL,
document_root=settings.MEDIA_ROOT)
的index.html
<body>
<div class="row">
{% for poster in pos %}
<div class="col-md-4">
<a href="{{poster.id}}" target="new"><img src="{{ poster.poster_img.url }}" alt="image"><h3>{{ poster.poster_name }}</h3></a>
</div>
{% endfor %}
</div>
page.html中
<body>
<div class="row">
<img src="{{ poster_img.url }}" alt="image"><h2>{{ poster_name }}</h2>
</div>
<div class="row">
<h2>{{ poster_details }}</h2>
</div>
不工作,127.0.0.1:8000/home/home/1在新标签中打开 –
现在只需检查它。 –
@VikasGautam,它工作过吗? –