Wifi_add() отсутствует 1 обязательный позиционный аргумент: 'request' при попытке создать объект

Я создал этот пост, потому что не смог найти его на SO. Я не использую класс, поэтому странно получать ошибку 'request not found error'.

Я сталкиваюсь с этой проблемой уже 2 дня, вот мой код спасибо. Такая же проблема была у меня при просмотре ajax пользователя, но я решил ее, изменив User.objects.create() на form.save в просмотре. Но не возможно решить здесь, пожалуйста, взгляните на код Я действительно благодарен вам.

#models.py

class Wifi(models.Model):
    ssid = models.CharField(max_length=150)
    password = models.CharField(max_length=150)
    user = models.ForeignKey(User, on_delete=models.CASCADE)

    def __str__(self):
        return self.ssid + " " + self.user.username

#views.py

def configrations(request):
    wifi_form = WifiForm()
    if request.method == 'POST' and request.POST.get("operation") == "wifi":
        wifi_form = WifiForm(request.POST)
        if wifi_form.is_valid():
            data = wifi_form.cleaned_data
            wifi_obj = Wifi.objects.create(**data, user=request.user)
        ctx = {
                'created': True,
                'success': True,
                'ssid': wifi_form.cleaned_data['ssid'],
                'password':  wifi_form.cleaned_data['password'],
                'msg':'Wifi configuration created',
            }
        return JsonResponse(ctx)
    return render(request, 'web/configrations.html',{'wifi_form':wifi_form})

#my forms.py

class WifiForm(forms.ModelForm):
    ssid = forms.CharField(widget=forms.TextInput(
        attrs={'class': "form-control"}))        
    password = forms.CharField(widget=forms.PasswordInput(
        attrs={'class': "form-control"}))
    class Meta:
        model = Wifi
        fields = ['ssid','password']

моя ajax-функция:

<script>
$('#submit_wifi').click(function(){
        var wifi_name = $('#wifi_name').val()
        var wifi_pass = $('#wifi_pass').val()
        $.ajax({
            type: "POST",
            url: "{% url 'config' %}",
            headers: {
                'X-CSRFToken': '{{ csrf_token }}'
            },
            data: {'operation':'wifi', 'ssid':wifi_name,'password':wifi_pass},
            dataType: "json",
            success: function(response) {
                 if(response.success == true){
                    $('#wifi_form').hide();
                    $('#mode_form').show();
                   console.log(response)

                 }
                 else if(response.status==false){
                   console.log(response.msg)
                 }
             },
             error: function(rs, e) {
              console.log('error')
             }
       }); 
    });
</script>

Проблема связана с именем модели. Мне пришлось изменить название модели с Wifi на Wifie и исправить другие строки, которые я импортирую в модель Wifi. Таким образом, все решено.

Вернуться на верх