from django.forms import ModelForm
from models import Sandwich, Ingredient
from django.contrib.auth.models import User
+from django import forms
class SandwichForm(ModelForm):
class Meta:
model = Ingredient
- exclude = ('slug',)
-
-
-class UserLoginForm(ModelForm):
-
- class Meta:
- model = User
- fields = ('username', 'password')
-
-class NewAccountForm(ModelForm):
-
- class Meta:
- model = User
- fields = ('username', 'first_name', 'last_name', 'email', 'password')
-
\ No newline at end of file
+ exclude = ('slug',)
\ No newline at end of file
{% for s in sandwiches %}
<h3>{{ s.adjective }}</h3>
<p>Made on {{ s.date_made }} and added by {{ s.user.username }}.</p>
- <img src="{{ s.picture }}">
+ <img src="{{ s.picture.url }}">
<h5>Ingredients</h5>
<ul>
{% for i in s.ingredients.all %}
--- /dev/null
+<html>
+ <head>
+ <title>Login</title></head>
+ <body>
+ <h1>Login</h1>
+ <form enctype="multipart/form-data" action="/login/" method="post">
+ {{ aform.as_p }}
+ <input type="submit" value="Submit" />
+ </form>
+ </body>
+</html>
\ No newline at end of file
<body>
<h3>{{ s.adjective }}</h3>
<p>Made on {{ s.date_made }} and added by {{ s.user.username }}.</p>
- <img src="{{ s.picture }}">
+ <img src="{{ s.picture.url }}">
<h5>Ingredients</h5>
<ul>
{% for i in s.ingredients.all %}
urlpatterns = patterns('',
(r'^addsandwich/$', views.add_sandwich),
+ (r'^login/$', views.login_view),
(r'^addingredient/$', views.add_ingredient),
(r'^allsandwiches/$', views.all_sandwich),
(r'^newsandwiches/$', views.newsandwiches),
from django.core.files.uploadedfile import SimpleUploadedFile
from models import Sandwich, Ingredient
from django.http import Http404
+from django.contrib.auth import authenticate, login
+from django.contrib.auth.forms import AuthenticationForm
import datetime
sandwiches = Sandwich.objects.get(slug=slug)
except Sandwich.DoesNotExist:
raise Http404
- return render_to_response('onesandwich.html', {'s': sandwiches,})
\ No newline at end of file
+ return render_to_response('onesandwich.html', {'s': sandwiches,})
+
+
+def login_view(request):
+ try:
+ username = request.POST['username']
+ password = request.POST['password']
+ user = authenticate(username=username, password=password)
+ if user is not None:
+ if user.is_active:
+ login(request, user)
+ thankshtml = "<p class=\"formthanks\">You have been logged in</p>"
+ return HttpResponse(thankshtml)
+ else:
+ thankshtml = "<p class=\"formthanks\">Disabled account. Sorry.</p>"
+ return HttpResponse(thankshtml)
+ else:
+ thankshtml = "<p class=\"formthanks\">Invalid login!</p>"
+ return HttpResponse(thankshtml)
+ except KeyError:
+ aform = AuthenticationForm()
+ return render_to_response('login.html', {'aform': aform,})
\ No newline at end of file