Advertisement
Guest User

Untitled

a guest
Mar 29th, 2017
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.58 KB | None | 0 0
  1. from django import forms
  2. from .models import User
  3.  
  4.  
  5.  
  6. class USerForm(forms.ModelForm):
  7. password = forms.CharField(widget=forms.PasswordInput())
  8.  
  9. class Meta:
  10. model = User
  11. fields = ['username', 'email', 'password', 'company', 'description', 'logo']
  12.  
  13. from django.shortcuts import render, redirect
  14. from django.views.generic import View, TemplateView
  15. from .forms import USerForm
  16. from django.contrib.auth import authenticate, login, logout
  17. from django.http import HttpResponseRedirect
  18. from django.contrib.auth.decorators import login_required
  19. from django.contrib import messages
  20. from django.views.generic.edit import UpdateView
  21.  
  22. # Create your views here.
  23.  
  24.  
  25. @login_required(login_url="/jembe/login/")
  26. def index(request):
  27. return render(request, 'base.html')
  28.  
  29.  
  30. class SignUp(View):
  31. form_class = USerForm
  32. template_name = 'signup.html'
  33.  
  34. def get(self, request):
  35. form = self.form_class(None)
  36. return render(request, self.template_name, {'form': form})
  37.  
  38. def post(self, request):
  39. form = self.form_class(request.POST, request.FILES)
  40. if form.is_valid():
  41. user = form.save(commit=False)
  42.  
  43. username = form.cleaned_data['username']
  44. password = form.cleaned_data['password']
  45. user.set_password(password)
  46. user.save()
  47. user = authenticate(username=username, password=password)
  48.  
  49. if user is not None:
  50. if user.is_active:
  51. login(request, user)
  52. return redirect('invoice:index')
  53. return render(request, self.template_name, {'form': form})
  54.  
  55.  
  56. class LogoutView(View):
  57. def get(self, request):
  58. logout(request)
  59. return HttpResponseRedirect('/jembe/login')
  60.  
  61.  
  62. class AboutView(TemplateView):
  63. template_name = "about.html"
  64.  
  65. `from django.db import models
  66. from django.contrib.auth.models import AbstractUser
  67.  
  68. # Create your models here.
  69.  
  70.  
  71. class User(AbstractUser):
  72. company = models.CharField(max_length=300)
  73. description = models.TextField(blank=True)
  74. website = models.URLField()
  75. logo = models.ImageField(upload_to='../media/')
  76.  
  77. `
  78.  
  79. {% load staticfiles %}
  80. {% load i18n widget_tweaks %}
  81.  
  82. <!DOCTYPE html>
  83. <html lang="en">
  84.  
  85. <head>
  86. <meta charset="utf-8">
  87. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  88. <meta name="description" content="">
  89. <meta name="author" content="">
  90.  
  91. <link rel="shortcut icon" href="img/favicon_1.ico">
  92.  
  93. <title>{% block title %} Signup {% endblock %} |Jims</title>
  94. ""
  95.  
  96.  
  97.  
  98. <!-- Bootstrap core CSS -->
  99. <link href="{% static 'login/css/bootstrap.min.css' %}" rel="stylesheet">
  100. <link href="{% static 'login/css/bootstrap-reset.css' %}" rel="stylesheet">
  101.  
  102. <!--Animation css-->
  103. <link href="{% static 'login/css/animate.css' %}" rel="stylesheet">
  104.  
  105. <!--Icon-fonts css-->
  106. <link href="{% static 'login/assets/font-awesome/css/font-awesome.css' %}" rel="stylesheet" />
  107. <link href="{% static 'login/assets/ionicon/css/ionicons.min.css' %}" rel="stylesheet" />
  108.  
  109. <!--Morris Chart CSS -->
  110. <link rel="stylesheet" href="{% static 'login/assets/morris/morris.css">
  111.  
  112.  
  113. <!-- Custom styles for this template -->
  114. <link href="{% static 'login/css/style.css' %}" rel="stylesheet">
  115. <link href="{% static 'login/css/helper.css' %}" rel="stylesheet">
  116. <link href="{% static 'css/style.css' %}" rel="stylesheet">
  117. <link href="{% static 'css/bootstrap.css' %}" rel="stylesheet">
  118. <link href="{% static 'css/main.css' %}" rel="stylesheet">
  119.  
  120. <link rel='stylesheet prefetch' href='http://fonts.googleapis.com/css?family=Roboto:400,100,300,500,700,900|RobotoDraft:400,100,300,500,700,900'>
  121. <link rel='stylesheet prefetch' href='http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css'>
  122.  
  123.  
  124. <!-- HTML5 shim and Respond.js IE8 support of HTML5 tooltipss and media queries -->
  125. <!--[if lt IE 9]>
  126. <script src="js/html5shiv.js"></script>
  127. <script src="js/respond.min.js"></script>
  128. <![endif]-->
  129.  
  130. <script>
  131. (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  132. (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  133. m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  134. })(window,document,'script','../../../www.google-analytics.com/analytics.js','ga');
  135.  
  136. ga('create', 'UA-62751496-1', 'auto');
  137. ga('send', 'pageview');
  138.  
  139. </script>
  140.  
  141. </head>
  142.  
  143.  
  144. <body>
  145. <div class="navbar navbar-default navbar-fixed-top">
  146. <div class="container">
  147. <div class="navbar-header">
  148. <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
  149. <span class="icon-bar"></span>
  150. <span class="icon-bar"></span>
  151. <span class="icon-bar"></span>
  152. </button>
  153. <a class="navbar-brand" href=""><div class="logo">
  154. <a href="" class="logo-expanded">
  155. <i class="ion-compose"></i>
  156. <span class="nav-label">Jigs</span>
  157. </a>
  158. </div></a>
  159. </div>
  160. <div class="navbar-collapse collapse">
  161. <ul class="nav navbar-nav navbar-right">
  162. <li><a href=""><strong>About</strong></a></li>
  163. <li><a href=""><strong>Login</strong></a></li>
  164. <li><a href=""><strong>Register</strong></a></li>
  165.  
  166. </ul>
  167. </div><!--/.nav-collapse -->
  168. </div>
  169. </div>
  170. <div class="wrapper-page animated fadeInDown">
  171. <div class="panel panel-color panel-primary">
  172. <div class="panel-heading">
  173. <h3 class="text-center m-t-10"> Create a new Account </h3>
  174. </div>
  175.  
  176. {# error logic #}
  177. {% if form.errors %}
  178. {% for field in form %}
  179. {% for error in field.errors %}
  180. <div class="alert alert-danger">
  181. <strong>{{ error | escape }}</strong>
  182. </div>
  183. {% endfor %}
  184. {% for error in form.non_field_errors %}
  185. <div class="alert alert-danger">
  186. <strong> {{ error | escape }}</strong>
  187. </div>
  188. {% endfor %}
  189. {% endfor %}
  190. {% endif %}
  191. {# end error logic #}
  192. <form class="form-horizontal m-t-40" action="" method="post">
  193. {% csrf_token %}
  194.  
  195. {% for field in form %}
  196. <div class="form-group">
  197. <div class="col-xs-12">
  198. <label> {{ field.label }} </label>
  199. {{ field|attr:"class:form-control" }}
  200. </div>
  201. </div>
  202. {% endfor %}
  203. <div class="form-group ">
  204. <div class="col-xs-12">
  205. <label class="cr-styled">
  206. <input type="checkbox" checked>
  207. <i class="fa"></i>
  208. I accept <strong><a href="#">Terms and Conditions</a></strong>
  209. </label>
  210. </div>
  211. </div>
  212.  
  213. <div class="form-group text-right">
  214. <div class="col-xs-12">
  215. <button class="btn btn-purple w-md" type="submit">Register</button>
  216. </div>
  217. </div>
  218.  
  219. <div class="form-group m-t-30">
  220. <div class="col-sm-12 text-center">
  221. <a href="{% url 'invoice:login' %}">Already have account?</a>
  222. </div>
  223. </div>
  224. </form>
  225.  
  226. </div>
  227. </div>
  228.  
  229.  
  230.  
  231.  
  232. <!-- js placed at the end of the document so the pages load faster -->
  233. <script src="{% static 'login/js/jquery.js' %}"></script>
  234. <script src="{% static 'login/js/bootstrap.min.js' %}"></script>
  235. <script src="{% static 'login/js/pace.min.js' %}"></script>
  236. <script src="{% static 'login/js/wow.min.js' %}"></script>
  237. <script src="{% static 'login/js/jquery.nicescroll.js' %}" type="text/javascript"></script>
  238.  
  239.  
  240. <!--common script for all pages-->
  241. <script src="{% static 'login/js/jquery.app.js' %}"></script>
  242.  
  243. <hr/>
  244. <center><h3 class="text text-success"> Jembe&trade; &copy; 2017</h3></center>
  245. </body>
  246.  
  247. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement