Я новичок в Джанго.Мне нужно создать виджет формы в качестве входных данных для передачи данных от ввода к сценарию.Проблема в том, что моя форма не отображается, и я понятия не имею, где ошибка.Моя цель - получить данные из ввода, чтобы они были найдены в базе данных API и сохранены в моей базе данных.Благодарю за совет.
views.py
def data(request):
url = 'http://www.omdbapi.com/?t={}&apikey=My key is here'
if request.method == 'POST':
form = MovieForm(request.POST)
form.save()
form = MovieForm()
movies = Movie.objects.all() #// fetch all objects
movies_data = [] #//// array for movies and their details
for movie in movies:
r = requests.get(url.format(movie)).json() #// gets details from api
movies_main = {
'title': movie.title,
'director': r['Director'],
'rate': r['imdbRating'],
}
movies_data.append(movies_main)
context = {'movies_data':movies_data}
return render(request, 'movies/movies.html', context)
forms.py
from django.forms import ModelForm, TextInput
from .models import Movie
class MovieForm(ModelForm):
class Meta:
model = Movie
fields = ['title']
widgets = {'title' : TextInput(attrs={'class' : 'id', 'placeholder' : 'put your id' })}
models.py
from django.db import models
# Create your models here.
class Movie(models.Model):
title = models.CharField(max_length=50)
def __str__(self):
return self.title
class Meta:
verbose_name_plural = 'movies'
template
{% load static %}
<html>
<head>
<link rel="stylesheet" href="{%static 'movies/style.css' %}">
<script type="text/javascript">
</script>
</head>
<body>
<div class='container'>
<header>Movies API</header>
<form method="POST" action='/index'>
{% csrf_token %}
{{ form.title }}
<input type='submit' class='sub', value='add'>
</form>
</div>
</body>
</html>