I am missing here the file  = views.py
Also the " from apps.validators import validaRut " gives problems because i am missing also the validators.py file

Op 10/11/2019 om 12:54 schreef Franz Ulenaers:
- how to implement these files into my project ?
- have i to startapp “register” into my project ?
- i believe models.py , urls.py , forms.py and Admin.py should be put into the register folder ....
- login.html in the folder templates/
Thanks
Franz

Verstuurd vanaf mijn iPhone

Op 8 nov. 2019 om 22:04 heeft DANIEL URBANO DE LA RUA <[email protected] <mailto:[email protected]>> het volgende geschreven:

Hablas español?

On Fri, 8 Nov 2019, 17:59 Daniel Angel, <[email protected] <mailto:[email protected]>> wrote:

    LOGIN.HTML

    {% extends "register/base.html" %}
    {% block content %}
    <div class="row">
    <!-- Lado izquierdo, área de inicio de sesión-->
    <div class="card col-md-6">
    <img class="mb-4" src="static/img/logo8.png" alt="" width="100">
    <div class="card-body">
    <form action="{% url 'register:login' %}" method="POST">
                    {{ form.non_field_errors }}
                    {% for field in form %}
                        {{ field }}
                        {{ field.errors }}
    <hr>
                    {% endfor %}
    <button type="submit" class="btn btn-primary"
    >Iniciar sesión</button>
    <input type="hidden" name="next" value="{{ next }}" />
                    {% csrf_token %}
    </form>
    </div>
    </div><!--A la izquierda, el área de inicio de sesión ha terminado -->
    <!-- Lado derecho, área de registro de miembros -->
    <div class="card col-md-6">
    <div class="card-body">
    <a href="{% url 'register:user_create' %}"
    class="btn btn-primary" >Registro de Cliente </a><hr>
    <a href="{% url 'register:password_reset' %}"
    class="btn btn-primary" >Olvidé mi contraseña</a>
    </div>
    </div><!-- Fin del área de registro de membresía a la derecha -->
    </div>
    {% endblock %}
    MODELO.PY
    from django.db import models
    from django.core.mail import send_mail
    from django.contrib.auth.models import PermissionsMixin
    from django.contrib.auth.base_user import AbstractBaseUser
    from django.utils.translation import ugettext_lazy as _
    from django.utils import timezone
    from django.contrib.auth.base_user import BaseUserManager
    from apps.validators import validaRut
    class UserManager(BaseUserManager):
    """Administrador de usuariosー"""
        use_in_migrations = True
    def _create_user(self, email, password, **extra_fields):
    """Create and save a user with the given username, email, and
            password."""
    if not email:
    raise ValueError('The given email must be set')
            email = self.normalize_email(email)
            user = self.model(email=email, **extra_fields)
            user.set_password(password)
            user.save(using=self._db)
    return user
    def create_user(self, email, password=None, **extra_fields):
            extra_fields.setdefault('is_staff', False)
            extra_fields.setdefault('is_superuser', False)
    return self._create_user(email, password, **extra_fields)
    def create_superuser(self, email, password, **extra_fields):
            extra_fields.setdefault('is_staff', True)
            extra_fields.setdefault('is_superuser', True)
    if extra_fields.get('is_staff') is not True:
    raise ValueError('Superuser must have is_staff=True.')
    if extra_fields.get('is_superuser') is not True:
    raise ValueError('Superuser must have is_superuser=True.')
    return self._create_user(email, password, **extra_fields)
    class User(AbstractBaseUser, PermissionsMixin):
    """Modelo de usuario personalizado
        username Sin usar、email La dirección se usa como nombre de usuario.
        """
        email
    = models.EmailField(_('dirección de correo electrónico'),
    unique=True)
        first_name = models.CharField(_('Nombre'), max_length=30,
    blank=True)
        last_name = models.CharField(_('Apellido'), max_length=150,
    blank=True)
        rut = models.CharField(_('Rut'), validators= [validaRut],
    max_length=10,blank=True, help_text="Ejemplo: 1111111-1")
        is_staff = models.BooleanField(
    _('staff status'),
    default=False,
    help_text=_(
    'Designa si el usuario puede iniciar sesión en este sitio de 
administración.'),
        )
        is_active = models.BooleanField(
    _('active'),
    default=True,
    help_text=_(
    'Designa si este usuario debe ser tratado como activo. '
    'Anule la selección de esto en lugar de eliminar cuentas.'
            ),
        )
        date_joined = models.DateTimeField(_('date joined'),
    default=timezone.now)
        objects = UserManager()
    EMAIL_FIELD = 'email'
    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = []
    class Meta:
            verbose_name = _('user')
            verbose_name_plural = _('users')
    def get_full_name(self):
    """Devuelve el primer nombre más el último nombre, con un espacio"""
            full_name = '%s%s' % (self.first_name, self.last_name,
    self.rut)
    return full_name.strip()
    def get_short_name(self):
    """Devuelve el nombre corto para el usuario."""
    return self.first_name
    def get_rut_name(self):
    """Devuelve el rut."""
    return self.rut
    def email_user(self, subject, message, from_email=None, **kwargs):
    """Enviar un correo electrónico a este usuario."""
    send_mail(subject, message, from_email, [self.email], **kwargs)
    @property
    def username(self):
    return self.email
    URLS.PY
    from django.urls import path
    from . import views
    app_name = 'register'
    urlpatterns = [
    path('', views.Top.as_view(), name='top'),
    path('login/', views.Login.as_view(), name='login'),
    path('logout/', views.Logout.as_view(), name='logout'),
    path('user_create/', views.UserCreate.as_view(), name='user_create'),
    path('user_create/done/', views.UserCreateDone.as_view(),
    name='user_create_done'),
    path('user_create/complete/<token>/', views.UserCreateComplete.as_view(),
    name='user_create_complete'),
    path('user_detail/<int:pk>/', views.UserDetail.as_view(),
    name='user_detail'),
    path('user_update/<int:pk>/', views.UserUpdate.as_view(),
    name='user_update'),
    path('password_change/', views.PasswordChange.as_view(),
    name='password_change'),
    path('password_change/done/', views.PasswordChangeDone.as_view(),
    name='password_change_done'),
    path('password_reset/', views.PasswordReset.as_view(),
    name='password_reset'),
    path('password_reset/done/', views.PasswordResetDone.as_view(),
    name='password_reset_done'),
    path('password_reset/confirm/<uidb64>/<token>/', 
views.PasswordResetConfirm.as_view(),
    name='password_reset_confirm'),
    path('password_reset/complete/', views.PasswordResetComplete.as_view(),
    name='password_reset_complete'),
    path('email/change/', views.EmailChange.as_view(),
    name='email_change'),
    path('email/change/done/', views.EmailChangeDone.as_view(),
    name='email_change_done'),
    path('email/change/complete/<str:token>/', 
views.EmailChangeComplete.as_view(),
    name='email_change_complete'),
    ]
    FORMS.PY
    from django import forms
    from django.contrib.auth.forms import (
        AuthenticationForm, UserCreationForm, PasswordChangeForm,
        PasswordResetForm, SetPasswordForm
    )
    from django.contrib.auth import get_user_model
    User = get_user_model()
    class EmailChangeForm(forms.ModelForm):
    """Formulario de cambio de dirección de correo electrónico"""
    class Meta:
            model = User
            fields = ('email',)
    def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)
    for field in self.fields.values():
                field.widget.attrs['class'] = 'form-control'
    def clean_email(self):
            email = self.cleaned_data['email']
            User.objects.filter(email=email, is_active=False).delete()
    return email
    class LoginForm(AuthenticationForm):
    """Formulario de acceso"""
    def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)
    for field in self.fields.values():
                field.widget.attrs['class'] = 'form-control'
                field.widget.attrs['placeholder'] = field.label
    # placeholder Poner etiqueta de campo en
    class UserCreateForm(UserCreationForm):
    """Formulario de registro de usuario"""
    class Meta:
            model = User
            fields = ('email',)
    def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)
    for field in self.fields.values():
                field.widget.attrs['class'] = 'form-control'
    def clean_email(self):
            email = self.cleaned_data['email']
            User.objects.filter(email=email, is_active=False).delete()
    return email
    class UserUpdateForm(forms.ModelForm):
    """Formulario de actualización de información del usuario"""
    class Meta:
            model = User
            fields = ('last_name', 'first_name','rut',)
    def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)
    for field in self.fields.values():
                field.widget.attrs['class'] = 'form-control'
    class MyPasswordChangeForm(PasswordChangeForm):
    """Formulario de cambio de contraseña"""
    def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)
    for field in self.fields.values():
                field.widget.attrs['class'] = 'form-control'
    class MyPasswordResetForm(PasswordResetForm):
    """Olvidé el formulario de contraseña"""
    def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)
    for field in self.fields.values():
                field.widget.attrs['class'] = 'form-control'
    class MySetPasswordForm(SetPasswordForm):
    """Formulario de restablecimiento de contraseña (olvidé la contraseña y 
restablecí)"""
    def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)
    for field in self.fields.values():
                field.widget.attrs['class'] = 'form-control'
    ADMIN.PY
    from django.contrib import admin
    from django.contrib.auth.admin import UserAdmin
    from django.contrib.auth.forms
    import UserChangeForm, UserCreationForm
    from django.utils.translation import ugettext_lazy as _
    from .models import User
    class MyUserChangeForm(UserChangeForm):
    class Meta:
            model = User
            fields = '__all__'
    class MyUserCreationForm(UserCreationForm):
    class Meta:
            model = User
            fields = ('email',)
    class MyUserAdmin(UserAdmin):
        fieldsets = (
            (None, {'fields': ('email', 'password')}),
            (_('Personal info'), {'fields': ('first_name',
    'last_name')}),
            (_('Permissions'), {'fields': ('is_active', 'is_staff',
    'is_superuser',
    'groups', 'user_permissions')}),
            (_('Important dates'), {'fields': ('last_login',
    'date_joined')}),
        )
        add_fieldsets = (
            (None, {
    'classes': ('wide',),
    'fields': ('email', 'password1', 'password2'),
            }),
        )
        form = MyUserChangeForm
        add_form = MyUserCreationForm
        list_display = ('email', 'first_name', 'last_name', 'rut',
    'is_staff')
        list_filter = ('is_staff', 'is_superuser', 'is_active', 'groups')
        search_fields = ('email', 'first_name', 'last_name', 'rut')
        ordering = ('email',)
    admin.site <http://admin.site>.register(User, MyUserAdmin)
    SETTINGS.PY
    INSTALLED_APPS = [
    'register.apps.RegisterConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'apps.cliente',
    ]
    EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
    EMAIL_USE_TLS= True
    EMAIL_HOST= 'smtp.gmail.com <http://smtp.gmail.com>'
    EMAIL_PORT= 25
    EMAIL_HOST_USER= '[email protected] <mailto:[email protected]>'
    EMAIL_HOST_PASSWORD='password'
    EMAIL_BACKEND='django.core.mail.backends.smtp.EmailBackend'

    El vie., 8 nov. 2019 a las 12:58, Paras Jain
    (<[email protected] <mailto:[email protected]>>) escribió:

        I want to send mail and password to this particular  email
        I'd which will be used for future login
        Problem is how to send mail and connect that password with
        database how it gonna be possible stuck Need help
        Please find the file aatached below nd thanks
-- You received this message because you are subscribed to the
        Google Groups "Django users" group.
        To unsubscribe from this group and stop receiving emails from
        it, send an email to
        [email protected]
        <mailto:[email protected]>.
        To view this discussion on the web visit
        
https://groups.google.com/d/msgid/django-users/CAMtmBS_R739__nZ2-ZYxPwsWAcn2o62hWPXNLrFRxx9w9nMoHQ%40mail.gmail.com
        
<https://groups.google.com/d/msgid/django-users/CAMtmBS_R739__nZ2-ZYxPwsWAcn2o62hWPXNLrFRxx9w9nMoHQ%40mail.gmail.com?utm_medium=email&utm_source=footer>.

-- You received this message because you are subscribed to the
    Google Groups "Django users" group.
    To unsubscribe from this group and stop receiving emails from it,
    send an email to [email protected]
    <mailto:[email protected]>.
    To view this discussion on the web visit
    
https://groups.google.com/d/msgid/django-users/CA%2By6opqPLy7Puzxj2Ha%2BH9tJgfCJQJPcgsdrKsjNM6_CAckV%2BA%40mail.gmail.com
    
<https://groups.google.com/d/msgid/django-users/CA%2By6opqPLy7Puzxj2Ha%2BH9tJgfCJQJPcgsdrKsjNM6_CAckV%2BA%40mail.gmail.com?utm_medium=email&utm_source=footer>.

--
You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected] <mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAO_yRT1rji_cYTa5HXCVcQDz661D2P%2BpzGov2_BQeGtf4FQ9xA%40mail.gmail.com <https://groups.google.com/d/msgid/django-users/CAO_yRT1rji_cYTa5HXCVcQDz661D2P%2BpzGov2_BQeGtf4FQ9xA%40mail.gmail.com?utm_medium=email&utm_source=footer>.

--
You received this message because you are subscribed to the Google Groups "Django 
users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/b3816b53-17a2-a563-c354-969c570b44db%40gmail.com.

Reply via email to