Используя стандартный веб-сайт администратора по адресу www.website.com/admin, я нажимаю «добавить пользователя», и отображается страница (см. Ниже), но без текстовых полей / надписей. Я добавил новую модель в приложение ... Е.Г. www.website.com/app1 ... и текстовые поля / метки были показаны, и, поскольку он добавлял функции пользователя, которого еще не существовало, он перенаправил меня на ту же самую некорректную страницу пользователя по умолчанию. Пожалуйста, сообщите.
Я внес некоторые изменения в файлы ниже в приложении:
directory structure:
website
-app1
-migrations
-0001_initial.py
-models.py
-app2
-website
-settings.py
-__init__.py
файл миграции '0001_initial.py' в приложении 1:
# Generated by Django 2.0.6 on 2018-06-30 00:53
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
from django.contrib import admin, auth
from django.contrib.auth.models import User
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='UserProfile',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('description', models.CharField(default='', max_length=100)),
('city', models.CharField(default='', max_length=100)),
('website', models.URLField(default='')),
('email', models.EmailField(default='', max_length=254)),
('profile_pic', models.ImageField(upload_to='')),
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
]
models.py:
from django.db import models
from django.contrib.auth.models import User
from django.db.models.signals import post_save
# Create your models here.
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
description = models.CharField(max_length=100,default='')
city = models.CharField(max_length=100,default='')
website = models.URLField(default='')
email = models.EmailField(default='')
profile_pic = models.ImageField()
def create_profile(sender, **kwargs):
if kwargs['created']:
user_profile = UserProfile.objects.Create(user=kwargs['instance'])
post_save.connect(create_profile, sender=User)