大家好,提前感谢您的帮助,我一般是编程新手。我想在配音演员(在 Film.html 中)中创建一个链接,并使用该 ID 打开一个新页面(Attore.html),其中仅加载与该 ID 关联的数据,但它不会这样做,因为它加载它们,但我不明白错误在哪里。我也不知道为什么不对 Attore.html 中的 CSS 收费,而在 Film.html 中没有问题,而且很奇怪,因为它位于 Base.html 上。
这是稍微简化的代码。
模型.py:
from django.db import models
class Attore( models.Model ):
nome = models.CharField( max_length=30 )
cognome = models.CharField( max_length=30 )
foto = models.CharField( max_length=100 )
data_inserimento = models.DateField( null=True, verbose_name="data d'inserimento" )
def __unicode__(self):
return self.nome + " " + self.cognome + " " + self.foto
class Meta:
verbose_name_plural = "Attori"
class Film( models.Model ):
titolo = models.CharField( max_length=39 )
trama = models.CharField( max_length=1000 )
locandina = models.CharField( max_length=100 )
copertina = models.CharField( max_length=100 )
data_inserimento = models.DateField( null=True, verbose_name="data d'inserimento" )
attori = models.ManyToManyField( Attore )
def __unicode__(self):
return self.titolo + " " + self.trama + " " + self.locandina + " " + self.copertina
class Meta:
verbose_name_plural = "Film"
视图.py:
from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext
from models import *
def film(request):
film = Film.objects.order_by("titolo")
return render_to_response('Film.html', { 'film': film, })
def film_attore(request, id):
get_attore_id = get_object_or_404( Attore, pk=id )
return render_to_response('Attore.html', { 'film': Film.objects.filter( attori=get_attore_id ), 'attor': get_attore_id })
网址.py
from django.conf.urls.defaults import *
urlpatterns = patterns('',
(r'^Film$', 'Database.views.film'),
(r'^Attore/(\d+)/$', 'Database.views.film_attore'),
)
模板:
基础.html:
<!DOCTYPE html>
<html>
<head>
<title>{% block titolo %}Titolo{% endblock %}</title>
<link href="../static/css/Default.css" media="screen" rel="stylesheet" type="text/css">
</head>
<body>
{% block contenuto %}Contenuto{% endblock %}
</body>
</html>
电影.html:
{% extends "Base.html" %}
{% block titolo %}Film{% endblock %}
{% block contenuto %}
{% for dato in film %}
{% for attore in dato.attori.all %}
<a href="/Database/Attore/{{ attore.id }}">{{ attore.nome }} {{ attore.cognome }}</a>
{% endfor %}
{% endfor %}
{% endblock %}
Attore.html:
{% extends "Base.html" %}
{% block titolo %}Attore{% endblock %}
{% block contenuto %}
{% for dato in film %}
{% for attore in dato.attori.all %}
<h2>{{ attore.nome }} {{ attore.cognome }}</h2>
{% endfor %}
{% endfor %}
{% endblock %}