Toggle navigation
Toggle navigation
This project
Loading...
Sign in
신은섭(Shin Eun Seop)
/
2018-1-d.cloud
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
10
Merge Requests
0
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
신은섭(Shin Eun Seop)
2018-05-17 13:33:18 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
cb537a49c6bdcb3c70bec41258c62c56cedc5e2c
cb537a49
1 parent
16be61fc
add login
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
33 additions
and
46 deletions
dcloud/dcloud/settings.py
dcloud/dcloud/urls.py
dcloud/restful/views.py
dcloud/website/templates/registration/login.html
dcloud/website/templates/website/base.html
dcloud/website/urls.py
dcloud/website/views.py
dcloud/dcloud/settings.py
View file @
cb537a4
...
...
@@ -23,6 +23,7 @@ BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
SECRET_KEY
=
'534f6m=i@*)=q3kuwlge1m3c+@^cabr3ttcx*omv^+dorydjfr'
# SECURITY WARNING: don't run with debug turned on in production!
# TODO
DEBUG
=
True
ALLOWED_HOSTS
=
[]
...
...
@@ -121,3 +122,8 @@ USE_TZ = True
# https://docs.djangoproject.com/en/2.0/howto/static-files/
STATIC_URL
=
'/static/'
# Login redirect
LOGIN_REDIRECT_URL
=
'/'
\ No newline at end of file
...
...
dcloud/dcloud/urls.py
View file @
cb537a4
"""dcloud URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/2.0/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from
django.contrib
import
admin
from
django.conf.urls
import
url
,
include
from
django.contrib.auth
import
views
urlpatterns
=
[
url
(
r'^admin/'
,
admin
.
site
.
urls
),
url
(
r'^accounts/login/$'
,
views
.
login
,
name
=
'login'
),
url
(
r'^accounts/logout/$'
,
views
.
logout
,
name
=
'logout'
,
kwargs
=
{
'next_page'
:
'/'
}),
url
(
r'^restapi/'
,
include
(
'restful.urls'
)),
url
(
r'^'
,
include
(
'website.urls'
)),
]
\ No newline at end of file
...
...
dcloud/restful/views.py
View file @
cb537a4
from
restful.models
import
File
from
restful.serializers
import
FileSerializer
from
django.http
import
Http404
from
django.contrib.auth.decorators
import
login_required
from
rest_framework.views
import
APIView
from
rest_framework.response
import
Response
from
rest_framework
import
status
from
restful.models
import
File
from
restful.serializers
import
FileSerializer
# Create your views here.
class
FileList
(
APIView
):
"""
List all file, or create a new snippet.
...
...
dcloud/website/templates/registration/login.html
View file @
cb537a4
{% extends "
base_generic
.html" %}
{% extends "
website/base
.html" %}
{% block content %}
{% if form.errors %}
<p>
Your username and password didn't match. Please try again.
</p>
{% endif %}
{% if next %}
{% if user.is_authenticated %}
<p>
Your account doesn't have access to this page. To proceed,
please login with an account that has access.
</p>
{% else %}
<p>
Please login to see this page.
</p>
{% if form.errors %}
<p>
이름과 비밀번호가 일치하지 않습니다. 다시 시도해주세요.
</p>
{% endif %}
{% endif %}
<form
method=
"post"
action=
"{% url 'login' %}"
>
{% csrf_token %}
<div>
<form
method=
"post"
action=
"{% url 'login' %}"
>
{% csrf_token %}
<table>
<tr>
<td>
{{ form.username.label_tag }}
</td>
<td>
{{ form.username }}
</td>
</div
>
<div
>
</tr
>
<tr
>
<td>
{{ form.password.label_tag }}
</td>
<td>
{{ form.password }}
</td>
</div>
</tr>
</table>
<div>
<input
type=
"submit"
value=
"login"
/>
<input
type=
"hidden"
name=
"next"
value=
"{{ next }}"
/>
</div>
</form>
{# Assumes you setup the password_reset view in your URLconf #}
<p><a
href=
"{% url 'password_reset' %}"
>
Lost password?
</a></p>
</form>
{% endblock %}
\ No newline at end of file
...
...
dcloud/website/templates/website/base.html
View file @
cb537a4
...
...
@@ -12,6 +12,9 @@
{% if user.is_authenticated %}
<a
href=
"{% url 'post_new' %}"
class=
"top-menu"
><span
class=
"glyphicon glyphicon-plus"
></span></a>
<a
href=
"{% url 'post_draft_list' %}"
class=
"top-menu"
><span
class=
"glyphicon glyphicon-edit"
></span></a>
<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=
"/"
>
Django Girls Blog
</a></h1>
</div>
...
...
dcloud/website/urls.py
View file @
cb537a4
...
...
@@ -2,6 +2,7 @@ from django.conf.urls import url
from
website
import
views
urlpatterns
=
[
# blog
url
(
r'^$'
,
views
.
post_list
,
name
=
'post_list'
),
url
(
r'^post/(?P<pk>\d+)/$'
,
views
.
post_detail
,
name
=
'post_detail'
),
url
(
r'^post/new/$'
,
views
.
post_new
,
name
=
'post_new'
),
...
...
dcloud/website/views.py
View file @
cb537a4
from
django.shortcuts
import
render
,
get_object_or_404
,
redirect
from
django.utils
import
timezone
from
django.contrib.auth.decorators
import
login_required
from
website.models
import
Post
from
restful.models
import
File
from
website.forms
import
PostForm
# Create your views here.
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
})
...
...
@@ -19,6 +19,7 @@ def post_detail(request, pk):
post
=
get_object_or_404
(
Post
,
pk
=
pk
)
return
render
(
request
,
'website/post_detail.html'
,
{
'post'
:
post
})
@login_required
def
post_new
(
request
):
if
request
.
method
==
"POST"
:
form
=
PostForm
(
request
.
POST
)
...
...
@@ -32,6 +33,7 @@ def post_new(request):
form
=
PostForm
()
return
render
(
request
,
'website/post_edit.html'
,
{
'form'
:
form
})
@login_required
def
post_edit
(
request
,
pk
):
post
=
get_object_or_404
(
Post
,
pk
=
pk
)
if
request
.
method
==
"POST"
:
...
...
@@ -46,10 +48,12 @@ def post_edit(request, pk):
form
=
PostForm
(
instance
=
post
)
return
render
(
request
,
'website/post_edit.html'
,
{
'form'
:
form
})
@login_required
def
post_draft_list
(
request
):
posts
=
Post
.
objects
.
filter
(
published_date__isnull
=
True
)
.
order_by
(
'created_date'
)
return
render
(
request
,
'website/post_draft_list.html'
,
{
'posts'
:
posts
})
@login_required
def
post_publish
(
request
,
pk
):
post
=
get_object_or_404
(
Post
,
pk
=
pk
)
post
.
publish
()
...
...
Please
register
or
login
to post a comment