Guest User

Untitled

a guest
Jan 22nd, 2018
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.28 KB | None | 0 0
  1. File "manage.py", line 15, in <module>
  2. execute_from_command_line(sys.argv)
  3. File "/mnt/e/Work/WEB/django/72tob/env/lib/python3.5/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line
  4. utility.execute()
  5. File "/mnt/e/Work/WEB/django/72tob/env/lib/python3.5/site-packages/django/core/management/__init__.py", line 365, in execute
  6. self.fetch_command(subcommand).run_from_argv(self.argv)
  7. File "/mnt/e/Work/WEB/django/72tob/env/lib/python3.5/site-packages/django/core/management/base.py", line 288, in run_from_argv
  8. self.execute(*args, **cmd_options)
  9. File "/mnt/e/Work/WEB/django/72tob/env/lib/python3.5/site-packages/django/contrib/auth/management/commands/createsuperuser.py", line 59, in execute
  10. return super().execute(*args, **options)
  11. File "/mnt/e/Work/WEB/django/72tob/env/lib/python3.5/site-packages/django/core/management/base.py", line 335, in execute
  12. output = self.handle(*args, **options)
  13. File "/mnt/e/Work/WEB/django/72tob/env/lib/python3.5/site-packages/django/contrib/auth/management/commands/createsuperuser.py", line 179, in handle
  14. self.UserModel._default_manager.db_manager(database).create_superuser(**user_data)
  15. TypeError: create_superuser() got an unexpected keyword argument
  16.  
  17. from time import timezone
  18. from django.db import models
  19. from django.contrib import admin
  20. from django.contrib.auth.models import User
  21. from django.contrib.auth.models import BaseUserManager
  22. from django.contrib.auth.models import AbstractBaseUser
  23. from django.contrib.auth.models import PermissionsMixin
  24.  
  25. class TemporaryBanIp(models.Model):
  26. class Meta:
  27. db_table = "TemporaryBanIp"
  28.  
  29. ip_address = models.GenericIPAddressField("IP адрес")
  30. attempts = models.IntegerField("Неудачных попыток", default=0)
  31. time_unblock = models.DateTimeField("Время разблокировки", blank=True)
  32. status = models.BooleanField("Статус блокировки", default=False)
  33.  
  34. def __str__(self):
  35. return self.ip_address
  36.  
  37.  
  38. class TemporaryBanIpAdmin(admin.ModelAdmin):
  39. list_display = ('ip_address', 'status', 'attempts', 'time_unblock')
  40. search_fields = ('ip_address',)
  41.  
  42.  
  43. class AuthUserManager(BaseUserManager):
  44. def create_user(self, email, username, first_name, last_name, patronymic,
  45. birth_day, inn_id, passport_s, passport_n, password=None):
  46. if not email:
  47. raise ValueError('Users must have an email address')
  48.  
  49. user = self.model(
  50. email=AuthUserManager.normalize_email(email),
  51. username=username,
  52. last_name=last_name,
  53. first_name=first_name,
  54. patronymic=patronymic,
  55. birth_day=birth_day,
  56. inn_id=inn_id,
  57. passport_s=passport_s,
  58. passport_n=passport_n,
  59. )
  60.  
  61. user.is_admin = True
  62. user.set_password(password)
  63. user.save(using=self._db)
  64.  
  65. return user
  66.  
  67. def create_superuser(self, email, first_name, last_name, patronymic,
  68. birth_day, inn_id, passport_s, passport_n, password=None):
  69. user = self.create_user(
  70. email=email,
  71. password=password,
  72. last_name=last_name,
  73. first_name=first_name,
  74. patronymic=patronymic,
  75. birth_day=birth_day,
  76. inn_id=inn_id,
  77. passport_s=passport_s,
  78. passport_n=passport_n,
  79. )
  80.  
  81. user.is_admin = True
  82. user.save(using=self._db)
  83.  
  84. return user
  85.  
  86. class AuthUser(AbstractBaseUser):
  87. username = models.CharField(max_length=30, unique=True)
  88. email = models.EmailField(max_length=255, unique=True)
  89. first_name = models.CharField(max_length=50, blank=True)
  90. last_name = models.CharField(max_length=50, blank=True)
  91. patronymic = models.CharField(max_length=50, blank=True)
  92. birth_day = models.DateTimeField()
  93.  
  94. inn_id = models.IntegerField(default=0, blank=True)
  95. passport_n = models.IntegerField(default=0, blank=True)
  96. passport_s = models.IntegerField(default=0, blank=True)
  97.  
  98. is_active = models.BooleanField(default=True)
  99. is_admin = models.BooleanField(default=False)
  100.  
  101. objects = AuthUserManager()
  102.  
  103. USERNAME_FIELD = 'username'
  104. REQUIRED_FIELDS = ['last_name', 'first_name', 'patronymic', 'email', 'birth_day', 'inn_id', 'passport_s', 'passport_n']
  105.  
  106. def get_full_name(self):
  107. return u'%s %s %s' % (self.first_name, self.patronymic, self.last_name)
  108.  
  109. def get_short_name(self):
  110. return u'%s' % self.first_name
  111.  
  112. def __str__(self):
  113. return self.email
  114.  
  115. def has_perm(self, perm, obj=None):
  116. return True
  117.  
  118. def has_module_perms(self, app_label):
  119. return True
  120.  
  121. @property
  122. def is_staff(self):
  123. return self.is_admin
  124.  
  125. # @property
  126. # def is_superuser(self):
  127. # return self.is_superuser
  128.  
  129. from django import forms
  130. from django.contrib import admin
  131. from django.contrib.auth.models import Group
  132. from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
  133. from django.contrib.auth.forms import ReadOnlyPasswordHashField
  134. # from simplemathcaptcha.fields import MathCaptchaField
  135.  
  136. from .models import AuthUser
  137.  
  138.  
  139. class UserCreationForm(forms.ModelForm):
  140. password1 = forms.CharField(label='Password',
  141. widget=forms.PasswordInput(attrs={'class':'form-control','placeholder':'Password'}))
  142.  
  143. password2 = forms.CharField(label='Password confirmation',
  144. widget=forms.PasswordInput(attrs={'class':'form-control','placeholder':'confirm password'}))
  145. # captcha = MathCaptchaField()
  146.  
  147. class Meta:
  148. model = AuthUser
  149. fields = ('last_name', 'first_name', 'patronymic', 'username', 'email', 'birth_day', 'inn_id', 'passport_s', 'passport_n')
  150.  
  151. def __init__(self, *args, **kwargs):
  152. super(UserCreationForm,self).__init__(*args,**kwargs)
  153. self.fields['birth_day'].widget.attrs={'class':'form-control','placeholder':'Date of birth'}
  154. self.fields['email'].widget.attrs={'class':'form-control','placeholder':'Email'}
  155.  
  156. def clean_password2(self):
  157. password1 = self.cleaned_data.get('password1')
  158. password2 = self.cleaned_data.get('password2')
  159. if password1 and password2 and password1 != password2:
  160. raise forms.ValidationError('Passwords don't match')
  161.  
  162. return password2
  163.  
  164. def save(self, commit=True):
  165. user = super(UserCreationForm, self).save(commit=False)
  166. user.set_password(self.cleaned_data['password1'])
  167. if commit:
  168. user.save()
  169.  
  170. return user
  171.  
  172.  
  173. class UserAdmin(BaseUserAdmin):
  174. # The forms to add and change user instances
  175. add_form = UserCreationForm
  176. list_display = ('email', 'birth_day', 'is_admin')
  177. list_filter = ('is_admin',)
  178.  
  179. fieldsets = (
  180. (None, {'fields': ('email', 'password')}),
  181. ('Personal info', {'fields': ('last_name', 'first_name', 'patronymic', 'username', 'email', 'birth_day', 'inn_id', 'passport_s', 'passport_n')}),
  182. ('Permissions', {'fields': ('is_admin',)}),
  183. )
  184.  
  185. add_fieldsets = (
  186. (None, {
  187. 'classes': ('wide',),
  188. 'fields': ('email', 'birth_day', 'password1', 'password2', )} # ,'captcha',
  189. ),
  190. )
  191. search_fields = ('username',)
  192. ordering = ('username',)
  193. filter_horizontal = ()
  194.  
  195. admin.site.register(AuthUser, UserAdmin)
  196. admin.site.unregister(Group)
Add Comment
Please, Sign In to add comment