Администратор сайта Django-Python добавляет пользовательские текстовые поля - PullRequest
0 голосов
/ 30 июня 2018

Используя стандартный веб-сайт администратора по адресу www.website.com/admin, я нажимаю «добавить пользователя», и отображается страница (см. Ниже), но без текстовых полей / надписей. Я добавил новую модель в приложение ... Е.Г. www.website.com/app1 ... и текстовые поля / метки были показаны, и, поскольку он добавлял функции пользователя, которого еще не существовало, он перенаправил меня на ту же самую некорректную страницу пользователя по умолчанию. Пожалуйста, сообщите.

Add user with no fields

Я внес некоторые изменения в файлы ниже в приложении:

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...