Python 从django中的视图保存到MongoDB

Python 从django中的视图保存到MongoDB,python,django,mongodb,Python,Django,Mongodb,您好,当我试图通过views.py在我的MongoDatabase中存储一些数据时,我遇到了一个问题 我的问题可能很傻,因为我是django的新手 因此,我的forms.py中有一个ModelForm class LanModelForm(forms.ModelForm): project_name = forms.CharField() target = forms.GenericIPAddressField() class Meta: model = UsersIn

您好,当我试图通过views.py在我的MongoDatabase中存储一些数据时,我遇到了一个问题 我的问题可能很傻,因为我是django的新手

因此,我的forms.py中有一个ModelForm

class LanModelForm(forms.ModelForm):
    project_name = forms.CharField()
    target = forms.GenericIPAddressField()

class Meta:
    model = UsersInput
    fields = ('project_name', 'target',)
class UsersInput(models.Model):
    project_name = models.CharField(max_length=15)
    ip_subnet = models.GenericIPAddressField()
def post(self, request):
    form = self.form_class(request.POST)
    if form.is_valid():
        _target = form.cleaned_data['target']
        project_name = form.cleaned_data['project_name']
        form.save()
  return redirect('/passive_scanning.html')
和我的模型在models.py中

class LanModelForm(forms.ModelForm):
    project_name = forms.CharField()
    target = forms.GenericIPAddressField()

class Meta:
    model = UsersInput
    fields = ('project_name', 'target',)
class UsersInput(models.Model):
    project_name = models.CharField(max_length=15)
    ip_subnet = models.GenericIPAddressField()
def post(self, request):
    form = self.form_class(request.POST)
    if form.is_valid():
        _target = form.cleaned_data['target']
        project_name = form.cleaned_data['project_name']
        form.save()
  return redirect('/passive_scanning.html')
我提交表单,当我转到管理页面检查我的(UsersInput)对象时,只传递项目名称。目标字段为空

在视图.py中编码

class LanModelForm(forms.ModelForm):
    project_name = forms.CharField()
    target = forms.GenericIPAddressField()

class Meta:
    model = UsersInput
    fields = ('project_name', 'target',)
class UsersInput(models.Model):
    project_name = models.CharField(max_length=15)
    ip_subnet = models.GenericIPAddressField()
def post(self, request):
    form = self.form_class(request.POST)
    if form.is_valid():
        _target = form.cleaned_data['target']
        project_name = form.cleaned_data['project_name']
        form.save()
  return redirect('/passive_scanning.html')

编辑
views.py

from .models import UsersInput

...

def post(request):
    form = self.form_class(request.POST)
    if form.is_valid():
        cd = form.cleaned_data
        db_save = UsersInput(project_name=cd['project_name'], ip_subnet=cd['ip_subnet'])
        db_save.save()
    return redirect('/passive_scanning.html')
class LanModelForm(forms.ModelForm):
    # You do not need to declare fields here for forms.ModelForm
    class Meta:
        model = UsersInput
        fields = ('project_name', 'ip_subnet',)
编辑
forms.py

from .models import UsersInput

...

def post(request):
    form = self.form_class(request.POST)
    if form.is_valid():
        cd = form.cleaned_data
        db_save = UsersInput(project_name=cd['project_name'], ip_subnet=cd['ip_subnet'])
        db_save.save()
    return redirect('/passive_scanning.html')
class LanModelForm(forms.ModelForm):
    # You do not need to declare fields here for forms.ModelForm
    class Meta:
        model = UsersInput
        fields = ('project_name', 'ip_subnet',)

Hm改变了这一点,但仍然是一样的。数据库中的subnet_ip字段为空,而且现在它根本不保存它。是的,我的代码包含错误,我已更新,请确保正确导入