Пользователь автора django, усекающий почтовое поле

GDI +, вероятно, не лучший выбор для игр. DirectX / XNA или OpenGL должны быть предпочтительными, так как они используют любое графическое ускорение и очень быстро.

9
задан niton 21 April 2015 в 00:43
поделиться

2 ответа

Длина поля EmailField 75 символов жестко задана в django. Вы можете исправить это следующим образом:

from django.db.models.fields import EmailField
def email_field_init(self, *args, **kwargs):
  kwargs['max_length'] = kwargs.get('max_length', 200)
  CharField.__init__(self, *args, **kwargs)
EmailField.__init__ = email_field_init

, но это изменит длину ВСЕХ полей EmailField, поэтому вы также можете попробовать:

from django.contrib.auth.models import User
from django.utils.translation import ugettext as _
from django.db import models
User.email = models.EmailField(_('e-mail address'), blank=True, max_length=200)

в обоих направлениях, лучше всего поместить этот код в init любого модуля ПЕРЕД django.contrib.auth в вашем INSTALLED_APPS

Начиная с Django 1.5 вы можете использовать свою собственную модель, основанную на модели AbstractUser, поэтому вы можете использовать свои собственные поля и длины. В ваших моделях:

from django.contrib.auth.models import AbstractUser
from django.db import models

class User(AbstractUser):
    email = models.EmailField(_('e-mail address'), blank=True, max_length=200)

В настройках:

AUTH_USER_MODEL = 'your_app.models.User'
12
ответ дан 4 December 2019 в 14:31
поделиться

Теперь есть билет для увеличения длины поля электронной почты в Django: http://code.djangoproject.com/ticket/11579

2
ответ дан 4 December 2019 в 14:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: