在Django中,如何将值传递到窗体类中

2024-04-24 13:32:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我在这里犯的一些错误与我非常有限的python知识有关,但是我已经搜索了半天了。你知道吗

class AssignmentForm(forms.ModelForm):

def __init__(self, *args, **kwargs, m_id):
    super(AssignmentForm, self).__init__(*args, **kwargs)
    # Making name required
    self.fields['title'].required = True
    self.fields['title'].help_text = "Title Required"
    self.fields['description'].required = True
    self.fields['description'].help_text= "Description Optional"
    self.fields['module_id'].required = False
    self.fields['module_id'] = m_id

class Meta:
    # Provide an association between the ModelForm and a model
    model = Assignment
    fields = ('title', 'description', 'module_id')

这是我的观点

def add_assignment(request, m_id):
template = loader.get_template('add_assignment.html')
if request.method == 'POST':
    form = AssignmentForm(request.POST, m_id)
    if form.is_valid():
        form.save(commit=True)
        return module(request, m_id)
    else:
        print form.errors
else:
    form = AssignmentForm()

# Bad form (or form details), no form supplied...
# Render the form with error messages (if any).
context = RequestContext(request, 
    {
    'form':form,
    })
return HttpResponse(template.render(context))

这是我的URL映射

url(r'^courses/(?P<m_id>\d+)/new/$', add_assignment, name='add_assignment'),

我现在得到一个错误,因为我不应该把值传递到init中,但是我不知道如何获取“module\u id”。你知道吗

再次感谢你,我意识到我可能把整件事搞得一团糟。你知道吗


Tags: selfformaddidtruefieldstitleinit