1
我一直在做一個個人項目,現在已經無法解決我一直在使用特定表單的問題。我過去曾經寫過成功的Django表單,並且在這些表單之後進行了建模,但我仍然無法展示它。Django表單不顯示
我的模型看起來像:
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/')
我的格式如:
class Meta:
model = Movie
fields = ['url', 'name', 'director', 'genre', 'rating', 'mpaa_rating', 'movie_cover', 'cast_list', 'year']
查看:
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)
最後模板:
<form id="movie_form" method="post" action="{% url 'add_movie' %}">
{% csrf_token %}
{{ movie_form.as_p }}
<input type="submit" value="Save" />
</form>
我已經閱讀了關於如何解決這個問題的堆棧溢出的幾篇文章,但他們都沒有固定我的。
感謝您的幫助
也許你忘了給movie_form鍵添加引號 –
@taoufikA哈哈..謝謝 – brunofitas
謝謝,我確定這是它的一部分,但表格仍然沒有加載。我看着我的其他表格正在工作,甚至沒有注意到我扭轉了他們。 – Michael