Поле "Страна" не заполняется при регистрации в Django

Когда пользователь регистрируется, я хочу добавить его страну в его профиль. Но поле остается пустым в базе данных и не заполняется страной. Я новичок в аутентификации в Django, поэтому могу ошибаться в других аспектах. Думаю, проблема может быть в порядке? Я действительно не уверен.

Views.py

def get_country(ip):

    if ip in ['127.0.0.1', 'localhost', '::1']:
        return 'Localhost'

    # Perform GeoIP lookup

    g = GeoIP2()
    try:
        result = g.city(ip)
        country = result["country_name"]
    except Exception as e:
     
        print(f'Error: {e}')  
        country = "Unknown"

    return country


def signup_view(request):
    if request.method == 'POST':
        form = UserCreateForm(request.POST)
        if form.is_valid():
            user = form.save()

            # Get the user's IP address

            x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
            if x_forwarded_for:
                ip = x_forwarded_for.split(',')[0].strip()
            else:
                ip = request.META.get('REMOTE_ADDR')

            # Determine the user's country
            country = get_country(ip)

            # Create the profile with the country information

            username = form.cleaned_data.get('username')
            raw_password = form.cleaned_data.get('password1')
            Profile.objects.create(user=user, country=country)
            user = authenticate(username=username, password=raw_password)
            login(request, user)

            return redirect('/')
    else:
        form = UserCreateForm()
    return render(request, 'signup.html', {'form': form})

models.py

from django.db import models
from django.contrib.auth.models import User
from django.db.models.signals import post_save
from django.dispatch import receiver


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

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


@receiver(post_save, sender=User)
def manage_profile(sender, instance, created, **kwargs):
    if created:
        Profile.objects.get_or_create(user=instance)

Я запустил функцию get_country в оболочке, используя RequestFactory(), и получил правильную страну в зависимости от ip. Таким образом, эта функция работает нормально. Не работает только обновление профиля со страной при регистрации.

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