Ошибка отступа - Django, при попытке разрешить непредвиденный аргумент ключевого слова error_insert - PullRequest
0 голосов
/ 10 мая 2019

У меня есть следующий код, и при поиске возможных решений я пытался решить проблему с помощью кода замены, но у меня есть постоянная ошибка отступа, и я не могу понять, почему, поскольку отступ корректен.

Исходный код (который работает без ошибок на работающем сервере), но вызывает ошибку force_insert.

models.py

from django.db import models
from django.contrib.auth.models import User
from PIL import Image


class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    image = models.ImageField(default='default.jpg', upload_to='profile_pics')

    def __str__(self):
        return f'{self.user.username} Profile'

    def save(self):
        super().save()

        img = Image.open(self.image.path)

        if img.height > 300 or img.width > 300:
            output_size = (300, 300)
            img.thumbnail(output_size)
            img.save(self.image.path)

Заменяется на:

from django.db import models
from django.contrib.auth.models import User
from PIL import Image


class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    image = models.ImageField(default='default.jpg', upload_to='profile_pics')

    def __str__(self):
        return f'{self.user.username} Profile'

    def save(self, *args, **kwargs):
        super(Profile, self).save(*args, **kwargs)

        img = Image.open(self.image.path)

        if img.height > 300 or img.width > 300:
            output_size = (300,300)
            img.thumbnail(output_size)
            img.save(self.image.path)'

При запуске второго бита кода в models.py на сервере появляется следующая ошибка

 File "C:\Users\User\Desktop\DjangoFacebook\pseudofacebook\users\models.py", line 24
    def save(self, *args, **kwargs):
    ^
IndentationError: unexpected indent

Я попытался запуститьmakemigrations и migrate, если что-то не так на фронте выполнения, но сохраняется та же ошибка (немного другая)

 File "C:\Users\User\Desktop\DjangoFacebook\pseudofacebook\users\models.py", line 14
    def save(self, *args, **kwargs):
                                   ^
TabError: inconsistent use of tabs and spaces in indentation

Вопрос: Я хотел бы иметь возможность успешно зарегистрироватьсяи удалите ошибку 'force_insert' и впоследствии не получите ошибку отступа, которая возникает, когда я использую решения, которые были предложены в других вопросах о постах / переполнении стека.

Ошибка comПохоже, что в этой строке что-то не так:

def save(self, *args, **kwargs):

, но ... насколько я понимаю, в этом нет ничего плохого.Я также дважды проверил строку ранее, но не вижу, что я сделал что-то неправильно.

1 Ответ

0 голосов
/ 10 мая 2019

Только что нашел ответ, и выкладываю его здесь в надежде, что он кому-нибудь поможет. Проблема была с отступом, но она не была очевидна в IDE, которую я использовал (Notepad ++). В Notepad ++ отступы выглядели идеально.

Я случайно открыл файл models.py, используя сам Python (IDLE), и только тогда увидел, что отступ полностью отключен. Я исправил это здесь, а затем снова запустил сервер без ошибок.

Это мелочи .......!

...