当我提交表单时,我在我的类AuthorCreateForm中收到错误.未定义NameError self
我如何使用CreateForm?
我在Author.py文件中创建了一个类
from django.views.generic import TemplateView, ListView, CreateView
from books.models import Author, Publisher, Book
from books.forms import AuthorForm
class AuthorCreateView(CreateView):
objAuthorForm = AuthorForm(self.request.POST)
if(objAuthorForm.save()):
success = "Form saved!"
else:
error = "There was an error!"
Run Code Online (Sandbox Code Playgroud)
我有一个提交到/ Author/Create的html模板
我的urls.py中有以下行
('^authors/create/$', Author.AuthorCreateView.as_view()),
Run Code Online (Sandbox Code Playgroud)
我在这个URL上渲染表单
('^authors/new/$', TemplateView.as_view(template_name="author_new.html")),
Run Code Online (Sandbox Code Playgroud)
我发现基于类的视图令人困惑,有没有人有一个关于如何将它用于CRUD操作的好教程?
谢谢
我有这个 ModelForm
class ScheduleForm(forms.ModelForm):
class Meta:
model = Schedule
fields = ['name', 'involved_people',]
def __init__(self, user, *args, **kwargs):
super(ScheduleForm, self).__init__(*args, **kwargs)
self.fields['involved_people'].queryset = Profile.objects.exclude(user=user)
Run Code Online (Sandbox Code Playgroud)
这是我的看法
def create_schedule(request):
form = ScheduleForm(request.POST or None)
schedules = Schedule.objects.all().order_by('deadline_date')
if form.is_valid():
schedule = form.save(commit=False)
schedule.save()
messages.success(request, "Schedule added successfully!")
return render(request, 'schedule/index.html', {'schedules': schedules})
context = {'form': form}
return render(request, 'schedule/create_schedule.html', context)
Run Code Online (Sandbox Code Playgroud)
你如何通过 request.user 视图?你如何初始化其中的表单request.user?