Advertisement
Guest User

Untitled

a guest
Jul 29th, 2017
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.78 KB | None | 0 0
  1. Traceback (most recent call last):
  2. File "C:UserscrstuAppDataLocalProgramsPythonPython36-32libsite-packagesdjangocorehandlersbase.py", line 149, in get_response
  3. response = self.process_exception_by_middleware(e, request)
  4. File "C:UserscrstuAppDataLocalProgramsPythonPython36-32libsite-packagesdjangocorehandlersbase.py", line 147, in get_response
  5. response = wrapped_callback(request, *callback_args, **callback_kwargs)
  6. File "C:UserscrstuPycharmProjectsdealmazingdealmazingviews.py", line 15, in newsletter_signup
  7. instance.save()
  8. File "C:UserscrstuAppDataLocalProgramsPythonPython36-32libsite-packagesdjangocontribauthbase_user.py", line 74, in save
  9. super(AbstractBaseUser, self).save(*args, **kwargs)
  10. File "C:UserscrstuAppDataLocalProgramsPythonPython36-32libsite-packagesdjangodbmodelsbase.py", line 708, in save
  11. force_update=force_update, update_fields=update_fields)
  12. File "C:UserscrstuAppDataLocalProgramsPythonPython36-32libsite-packagesdjangodbmodelsbase.py", line 736, in save_base
  13. updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
  14. File "C:UserscrstuAppDataLocalProgramsPythonPython36-32libsite-packagesdjangodbmodelsbase.py", line 820, in _save_table
  15. result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
  16. File "C:UserscrstuAppDataLocalProgramsPythonPython36-32libsite-packagesdjangodbmodelsbase.py", line 859, in _do_insert
  17. using=using, raw=raw)
  18. File "C:UserscrstuAppDataLocalProgramsPythonPython36-32libsite-packagesdjangodbmodelsmanager.py", line 122, in manager_method
  19. return getattr(self.get_queryset(), name)(*args, **kwargs)
  20. File "C:UserscrstuAppDataLocalProgramsPythonPython36-32libsite-packagesdjangodbmodelsquery.py", line 1039, in _insert
  21. return query.get_compiler(using=using).execute_sql(return_id)
  22. File "C:UserscrstuAppDataLocalProgramsPythonPython36-32libsite-packagesdjangodbmodelssqlcompiler.py", line 1060, in execute_sql
  23. cursor.execute(sql, params)
  24. File "C:UserscrstuAppDataLocalProgramsPythonPython36-32libsite-packagesdjangodbbackendsutils.py", line 79, in execute
  25. return super(CursorDebugWrapper, self).execute(sql, params)
  26. File "C:UserscrstuAppDataLocalProgramsPythonPython36-32libsite-packagesdjangodbbackendsutils.py", line 64, in execute
  27. return self.cursor.execute(sql, params)
  28. File "C:UserscrstuAppDataLocalProgramsPythonPython36-32libsite-packagesdjangodbutils.py", line 95, in __exit__
  29. six.reraise(dj_exc_type, dj_exc_value, traceback)
  30. File "C:UserscrstuAppDataLocalProgramsPythonPython36-32libsite-packagesdjangoutilssix.py", line 685, in reraise
  31. raise value.with_traceback(tb)
  32. File "C:UserscrstuAppDataLocalProgramsPythonPython36-32libsite-packagesdjangodbbackendsutils.py", line 64, in execute
  33. return self.cursor.execute(sql, params)
  34. File "C:UserscrstuAppDataLocalProgramsPythonPython36-32libsite-packagesdjangodbbackendssqlite3base.py", line 323, in execute
  35. return Database.Cursor.execute(self, query, params)
  36. django.db.utils.IntegrityError: UNIQUE constraint failed: accounts_user.username
  37.  
  38. from django.contrib.auth.models import (
  39. AbstractBaseUser,
  40. BaseUserManager,
  41. PermissionsMixin
  42. )
  43. from django.db import models
  44. from django.utils import timezone
  45. from django.conf import settings
  46. from django.db.models.signals import post_save
  47. import os
  48.  
  49.  
  50. def avatar_upload_path(instance, filename):
  51. return os.path.join('avatars', 'user_{0}', '{1}').format(
  52. instance.user.id, filename)
  53.  
  54.  
  55. class UserManager(BaseUserManager):
  56. def create_user(self, email, username=None, password=None):
  57. if not email:
  58. raise ValueError("Users must have an email address")
  59.  
  60. if not username:
  61. username = email.split('@')[0]
  62.  
  63. user = self.model(
  64. email=self.normalize_email(email),
  65. username=username,
  66. )
  67. user.set_password(password)
  68. user.save()
  69. return user
  70.  
  71. def create_superuser(self, email, username, password):
  72. user = self.create_user(
  73. email,
  74. username,
  75. password,
  76. )
  77. user.is_staff = True
  78. user.is_superuser = True
  79. user.save()
  80. return user
  81.  
  82.  
  83. class User(AbstractBaseUser, PermissionsMixin):
  84. email = models.EmailField(unique=True)
  85. username = models.CharField(max_length=40, unique=True, default='')
  86. date_joined = models.DateTimeField(default=timezone.now)
  87. is_active = models.BooleanField(default=True)
  88. is_staff = models.BooleanField(default=False)
  89.  
  90. objects = UserManager()
  91.  
  92. USERNAME_FIELD = 'email'
  93. REQUIRED_FIELDS = ['username']
  94.  
  95. def __str__(self):
  96. return "@{}".format(self.username)
  97.  
  98. def get_short_name(self):
  99. return self.username
  100.  
  101. def get_long_name(self):
  102. return "@{} ({})".format(self.username, self.email)
  103.  
  104.  
  105. class UserProfile(models.Model):
  106. user = models.OneToOneField(settings.AUTH_USER_MODEL, primary_key=True, related_name='profile')
  107. first_name = models.CharField(max_length=40, default='', blank=True)
  108. last_name = models.CharField(max_length=40, default='', blank=True)
  109. bio = models.TextField(blank=True, default='')
  110. avatar = models.ImageField('Avatar picture',
  111. upload_to=avatar_upload_path,
  112. null=True,
  113. blank=True)
  114.  
  115. def __str__(self):
  116. return self.user.username
  117.  
  118. @property
  119. def get_avatar_url(self):
  120. if self.avatar:
  121. return '/media/{}'.format(self.avatar)
  122. return 'http://www.gravatar.com/avatar/{}?s=128&d=identicon'.format(
  123. '94d093eda664addd6e450d7e9881bcad'
  124. )
  125.  
  126.  
  127. def create_profile(sender, **kwargs):
  128. if kwargs['created']:
  129. user_profile = UserProfile.objects.create(user=kwargs['instance'])
  130.  
  131. post_save.connect(create_profile, sender=User)
  132.  
  133. from django.shortcuts import render, redirect
  134. from newsletters.forms import NewsletterUserSignUpForm
  135. from accounts.models import User
  136.  
  137.  
  138. def newsletter_signup(request):
  139. if request.method == "POST":
  140. form = NewsletterUserSignUpForm(request.POST)
  141.  
  142. if form.is_valid():
  143. instance = form.save(commit=False)
  144. if User.objects.filter(email=instance.email).exists():
  145. print("Sorry this email already exists")
  146. else:
  147. instance.save()
  148. return redirect("http://www.google.com")
  149.  
  150. else:
  151. form = NewsletterUserSignUpForm()
  152.  
  153. template = "newsletters/sign_up.html"
  154. return render(request, template, {'form': form})
  155.  
  156. <div class="col-lg-6 offset-lg-3">
  157. <form method="POST">
  158. {% csrf_token %}
  159. <div class="form-group">
  160. <div class="col-xs-6 col-xs-offset-3">
  161. {{ form.email}}
  162. <button class="btn btn-primary" type="submit">Sign Up!</button>
  163. </div>
  164. </div>
  165. </form>
  166. </div>
  167. </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement