Commit b2f6efaa authored by lizonr1's avatar lizonr1

Update login

parent dd1cd0a2
...@@ -3,4 +3,9 @@ ...@@ -3,4 +3,9 @@
<head> <head>
<link rel="stylesheet" type="text/css" href="static/css/main.css"> <link rel="stylesheet" type="text/css" href="static/css/main.css">
</head> </head>
<body>
{% block content %}
{% endblock %}
</body>
</html> </html>
\ No newline at end of file
{% extends 'welcome_page/default/base.html' %} {% extends 'panel/base.html' %}
{% block content %} {% block content %}
<div class="container">
<div class="row">
<div class="col-sm-6 col-md-4 col-md-offset-4">
<div class="account-wall"> <form action="" method="post">{% csrf_token %}
<img class="profile-img" src="{{STATIC_URL}}img/start-it.jpg" <ul>
alt=""> {{ form.as_ul }}
<form action="/login/" method="post" class="form-signin"> </ul>
{% csrf_token %} <input type="submit" value="Send message" />
<input type="text" class="form-control" placeholder="Username" required autofocus name="username"> </form>
<input type="password" class="form-control" placeholder="Password" required name="password">
<button class="btn btn-lg btn-primary btn-block" type="submit">
Sign in</button>
<label class="checkbox pull-left">
<input type="checkbox" value="remember-me">
Remember me
</label>
<a href="#" class="pull-right need-help">Need help? </a><span class="clearfix"></span>
</form>
</div>
</div>
</div>
</div>
{% endblock content %} {% endblock content %}
\ No newline at end of file
from django.shortcuts import render from django.contrib.auth import login, logout
from django.contrib.auth.decorators import login_required
from django.core.urlresolvers import reverse
from django.shortcuts import render, redirect
from django.utils.decorators import method_decorator
from django.views import generic
from django.views.decorators.csrf import csrf_exempt
from django.views.generic import FormView, View, DetailView, ListView, CreateView, UpdateView
from django.views.generic.base import TemplateResponseMixin
# Create your views here. from App.loyaltyMe.models import UserPlace, Place
def coming_soon_page(request): from App.page.forms import EmailAuthenticationForm
return render(request, 'page/base.html', {})
def main_page(request): class CommingSoonView(generic.TemplateView):
return render(request, 'main_page/base.html', {}) template_name = 'page/base.html'
def login(request):
return render(request, 'panel/login.html', {}) class MainPageView(generic.TemplateView):
\ No newline at end of file template_name = 'main_page/base.html'
class PlaceCreateView(CreateView):
template_name = 'panel/place_form.html'
model = Place
fields = ['name', 'type', 'description']
def get_success_url(self):
return reverse('place_detail', args=(self.object.id,))
def form_valid(self, form):
self.object = form.save()
UserPlace.objects.create(user=self.request.user, place=self.object)
return super(PlaceCreateView, self).form_valid(form)
class PlaceUpdateView(UpdateView):
template_name = 'panel/place_form.html'
model = Place
fields = ['name', 'type', 'description']
def get_success_url(self):
return reverse('place_detail', args=(self.object.id,))
class PlacePageListView(ListView):
template_name = 'panel/place_list.html'
model = Place
def get_queryset(self):
qs = super(PlacePageListView, self).get_queryset()
return qs.filter(userplace_place__user=self.request.user)
def get_context_data(self, **kwargs):
context = super(PlacePageListView, self).get_context_data(**kwargs)
return context
class PlacePageDetailView(DetailView):
template_name = 'panel/place_detail.html'
model = Place
def get_queryset(self):
qs = super(PlacePageDetailView, self).get_queryset()
return qs.filter(userplace_place__user=self.request.user)
def get_context_data(self, **kwargs):
context = super(PlacePageDetailView, self).get_context_data(**kwargs)
return context
@method_decorator(login_required, name='dispatch')
class PanelPageView(generic.TemplateView):
template_name = 'panel/panel.html'
def get(self, request, *args, **kwargs):
if request.user.is_authenticated():
return render(request, self.template_name, {'user': request.user})
return render(request, self.template_name)
@method_decorator(csrf_exempt, name='dispatch')
class LoginView(FormView):
template_name = 'panel/login.html'
form_class = EmailAuthenticationForm
success_url = '/panel'
def form_valid(self, form):
login(self.request, form.get_user())
return super(LoginView, self).form_valid(form)
def get(self, request, *args, **kwargs):
if request.user.is_authenticated():
return redirect('main_page')
return render(request, self.template_name, {'form': self.form_class})
class LogoutView(TemplateResponseMixin, View):
template_name = 'panel/logout.html'
def get(self, request, *args, **kwargs):
if request.user.is_authenticated():
logout(self.request)
return render(request, self.template_name)
return render(request, self.template_name)
...@@ -152,5 +152,6 @@ DATABASES = { ...@@ -152,5 +152,6 @@ DATABASES = {
} }
} }
LOGIN_URL = 'rest_framework:login' LOGIN_URL = '/login/'
LOGOUT_URL = 'rest_framework:logout' LOGOUT_URL = '/logout/'
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment