0
3つの同様の関数ビューを継承クラスベースのビューに変更しようとしています。関数からクラス継承に至る間違ったエラー
ビューはフォームとほぼ同じように見え、フォームの名前は異なります。以下そのうちの一つは:
@login_required
def add_video(request):
if request.method == 'POST':
movie_form = MovieForm(request.POST)
if movie_form.is_valid():
user = request.user
new_post = movie_form.save(commit=False)
new_post.author = user
new_post.save()
movie_form.save_m2m()
messages.success(request, 'Post successfully added')
return redirect(new_post)
else:
movie_form = MovieForm()
return render(request, 'ak47/movie.html', {'movie_form': movie_form})
CBVとして、それは次のようになります。
File "/home/cruel/PycharmProjects/silverak/ak47/views.py", line 249, in <module>
class AddMovieView(AddingView):
TypeError: function() argument 1 must be code, not str
私は問題はあなたが示されているコードの一部であるとは思いません。あなたの質問を編集して、 'views.py'の249行目付近のコードセクションを表示できますか? – evergreen
クラスAddMovieView(AddingView)の宣言は249行で、その上に直接AddingViewクラスがあります。私もこのコードで何らかの誤りを見つけられず、エラーの命名は本当に私を助けません。問題は、私が " クラスAddMovieView(AddingView): form_class = MovieForm"クラスを書いた後に現れました。今私はコメントし、関数ビューを使用するが、この問題の解決策は私にとって重要です。 –
'CreateView'はクラスですか? – evergreen