-1

皆さん、こんにちは。事前に支援に感謝します。私はプログラミング全般に不慣れです。声優 (Film.html) 内にリンクを作成し、ID を使用して新しいページ (Attore.html) を開き、その ID に関連付けられたデータのみをロードしたいのですが、それは行われません。それらをすべてロードしますが、どこがエラーなのかわかりません。また、Attore.html では CSS を課金しない理由もわかりませんが、Film.html では問題がなく、Base.html に配置されているので不思議です。

少し簡略化したコードを次に示します。

models.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"

views.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 })

urls.py

from django.conf.urls.defaults import *

urlpatterns = patterns('',    
    (r'^Film$', 'Database.views.film'),
    (r'^Attore/(\d+)/$', 'Database.views.film_attore'),
)

テンプレート:

Base.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>

Film.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 %}
4

1 に答える 1

0

まず、相対パスではなく、css への絶対パスを指定する必要があります。これがロードされない理由です。

次に、私には、コードが言われたことを正確に実行しているように見えます。ビューではfilm_attore、映画のリストと俳優をテンプレートに渡しますが、テンプレートではattori変数を使用せず、代わりにこの俳優のすべての映画を反復処理してから、各映画のすべての俳優のリストを検索して出力します。

于 2013-04-21T13:28:27.170 に答える