신은섭(Shin Eun Seop)

add login, register views

kairos03/2018-1-d.cloud/#6
......@@ -5,13 +5,13 @@ from django.db import models
class File(models.Model):
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
file_name = models.CharField(max_length=100)
title = models.CharField(max_length=100)
# file_name = models.CharField(max_length=100, primary_key=True)
object_key = models.CharField(max_length=1025)
size = models.IntegerField()
# owner = models.ForeignKey('auth.User', related_name='snippets', on_delete=models.CASCADE)
class Meta:
ordering = ('file_name',)
ordering = ('title',)
......
from django.contrib.auth import login, authenticate
from django.contrib.auth.forms import UserCreationForm
from django.shortcuts import render, redirect
def signup(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
form.save()
username = form.cleaned_data.get('username')
raw_password = form.cleaned_data.get('password1')
user = authenticate(username=username, password=raw_password)
login(request, user)
return redirect('/')
else:
form = UserCreationForm()
return render(request, 'registration/signup.html', {'form': form})
{% extends "base_generic.html" %}
{% block content %}
<p>Logged out!</p>
<a href="{% url 'login'%}">Click here to login again.</a>
{% endblock %}
\ No newline at end of file
{% extends "website/base.html" %}
{% extends "website/baseline.html" %}
{% block content %}
{% if form.errors %}
......
{% extends 'website/baseline.html' %}
{% block content %}
<h2>Sign up</h2>
<form method="post">
{% csrf_token %}
{% for field in form %}
<p>
{{ field.label_tag }}<br>
{{ field }}
{% if field.help_text %}
<small style="color: grey">{% autoescape off %}{{ field.help_text }}{% endautoescape %}</small>
{% endif %}
{% for error in field.errors %}
<p style="color: red">{{ error }}</p>
{% endfor %}
</p>
{% endfor %}
<button type="submit">Sign up</button>
</form>
{% endblock %}
\ No newline at end of file
<html>
<header>
<title>D.cloud</title>
</header>
<body>
<div class="page-header">
{% if user.is_authenticated %}
<p class="top-menu">Hello {{ user.username }} <small>(<a href="{% url 'logout' %}">Log out</a>)</small></p>
{% else %}
<a href="{% url 'login' %}" class="top-menu"><span class="glyphicon glyphicon-lock"></span></a>
{% endif %}
<h1><a href="/">D.cloud</a></h1>
</div>
<div class="content">
{% block content %}
{% endblock %}
</div>
<div class="page-footer">
</div>
</body>
</html>
\ No newline at end of file
{{files}}
\ No newline at end of file
{% extends 'website/baseline.html' %}
{% block content %}
{% for file in files %}
<h1>{{file.title}}</h1>
<p>{{file.object_key}}</p>
{% endfor %}
{% endblock %}
\ No newline at end of file
......
from django.conf.urls import url
from website import views
from website import views, auth_views
urlpatterns = [
# blog
......@@ -11,4 +11,5 @@ urlpatterns = [
url(r'^post/(?P<pk>\d+)/publish/$', views.post_publish, name='post_publish'),
url(r'^files/', views.file_list, name='file_list'),
url(r'^signup/$', auth_views.signup, name='signup'),
]
\ No newline at end of file
......
......@@ -5,16 +5,16 @@ from website.models import Post
from restful.models import File
from website.forms import PostForm
@login_required
def file_list(request):
files = File.objects.all()
return render(request, 'website/file_list.html', {'files': files})
def post_list(request):
posts = Post.objects.filter(published_date__lte=timezone.now()).order_by('published_date')
return render(request, 'website/post_list.html', {'posts':posts})
def file_list(request):
files = File.objects.all()
return render(request, 'website/file_list.html', {'files': files})
def post_detail(request, pk):
post = get_object_or_404(Post, pk=pk)
return render(request, 'website/post_detail.html', {'post': post})
......