Ich habe jetzt ein persönliches Projekt bearbeitet und konnte ein Problem, das ich mit einem bestimmten Formular hatte, nicht beheben. Ich habe in der Vergangenheit erfolgreiche Django-Formulare geschrieben und habe sie danach modelliert, aber ich kann es immer noch nicht zur Anzeige bringen.Django-Formular wird nicht angezeigt
Mein Modell sieht so aus:
name = models.CharField(max_length=100)
director = models.CharField(max_length=50)
genre = models.TextField()
rating = models.IntegerField()
mpaa_rating = models.CharField(max_length=5)
# movie_file = models.FileField()
movie_cover = models.CharField(max_length=100)
cast_list = models.TextField()
year = models.TextField()
url = models.CharField(max_length=100, default='http://www.imdb.com/title/')
Meine Form wie:
class Meta:
model = Movie
fields = ['url', 'name', 'director', 'genre', 'rating', 'mpaa_rating', 'movie_cover', 'cast_list', 'year']
Ausblick:
context = RequestContext(request)
movie_form = MovieForm()
if request.method == 'POST':
movie_form = MovieForm(data=request.POST)
if movie_form.is_valid():
url = urlrequest.urlopen(movie_form.url)
movie = BeautifulSoup(url, 'html.parser')
movie_form.set_name(movie.find(itemprop='name'))
data = get_movie_data(url)
movie_form.data['name'] = data[0]
movie_form.data['director'] = data[4]
movie_form.data['genre'] = data[7]
movie_form.data['rating'] = data[3]
movie_form.data['mpaa_rating'] = data[2]
movie_form.data['year'] = data[1]
movie_form.data['cast_list'] = data[5]
movie_form.data['movie_cover'] = data[6]
movie_form.save()
print('movie added')
return render_to_response('add_movie.html', {movie_form: 'movie_form'}, context)
Und schließlich Vorlage:
<form id="movie_form" method="post" action="{% url 'add_movie' %}">
{% csrf_token %}
{{ movie_form.as_p }}
<input type="submit" value="Save" />
</form>
Ich habe mehrere Beiträge auf Stack-Überlauf gelesen, wie das Problem behoben werden kann, aber keiner von ihnen hat meinen behoben.
Danke für die Hilfe
vielleicht vergessen Sie, Zitate zu dem Film_Form-Schlüssel hinzufügen –
@taoufikA Haha .. danke – brunofitas
Danke, ich bin mir sicher, dass war ein Teil davon, aber das Formular wird immer noch nicht geladen. Ich schaute auf meine anderen Formen, die funktionieren, und bemerkte nicht einmal, dass ich sie umkehrte. – Michael