Skip to content

Commit 7bc2e1f

Browse files
committed
django view dan template
1 parent 5676979 commit 7bc2e1f

File tree

13 files changed

+326
-80
lines changed

13 files changed

+326
-80
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
*.pyc
22
db.sqlite3
3-
.DS_Store
3+
.DS_Store
4+
media/

article/models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ class Category(models.Model):
1313

1414
class Meta:
1515
verbose_name_plural = "Category"
16+
ordering = ['name']
1617

1718
def __unicode__(self):
1819
return self.name

article/urls.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
from article import views
33

44
urlpatterns = [
5-
url(r'^myview/$', views.myview),
5+
url(r'^myview$', views.myview),
66
url(r'^hallo_dunia/$', views.hello_world),
77
url(r'^nama/(?P<nama>[\w-]+)/(?P<umur>[0-9]+)$', views.nama_saya),
8+
url(r'^category/$', views.category),
9+
url(r'^(?P<slug>[\w-]+)$', views.post_detail),
810
]

article/views.py

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
from django.shortcuts import render
55
from django.http import HttpResponse
66
from django.template import RequestContext
7+
from article.models import Category, Post
8+
79

810
# Create your views here.
911
def myview(request):
@@ -18,5 +20,24 @@ def nama_saya(request, nama, umur):
1820
return HttpResponse('Hello nama saya adalah {}, umur saya adalah {} tahun'.format(nama, umur))
1921

2022

23+
def category(request):
24+
return HttpResponse('halaman list category')
25+
26+
2127
def home(request):
22-
return render(request, 'index.html')
28+
categories = Category.objects.all()
29+
list_post = Post.objects.all().order_by('created_on')[:3]
30+
anu = {
31+
'categories': categories,
32+
'postingan': list_post,
33+
'nama': 'Ayip',
34+
}
35+
return render(request, 'index.html', anu)
36+
37+
38+
def post_detail(request, slug):
39+
data = {
40+
'categories': Category.objects.all(),
41+
'post': Post.objects.get(slug=slug),
42+
}
43+
return render(request, 'detail.html', data)

myblog/settings.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,3 +123,6 @@
123123

124124
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static/")]
125125

126+
MEDIA_URL = '/media/'
127+
128+
MEDIA_ROOT = 'media'

myblog/urls.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,14 @@
1515
"""
1616
from django.conf.urls import url, include
1717
from django.contrib import admin
18+
from django.conf import settings
19+
from django.conf.urls.static import static
1820
from article.views import home
1921

2022
urlpatterns = [
23+
url(r'^$', home),
2124
url(r'^admin/', admin.site.urls),
2225
url(r'^tinymce/', include('tinymce.urls')),
2326
url(r'^article/', include('article.urls')),
24-
url(r'^$', home),
25-
]
27+
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
28+
Binary file not shown.

requirements.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Django==1.11.3
2+
django-tinymce==2.6.0
3+
numpy==1.13.1
4+
olefile==0.44
5+
Pillow==4.2.1
6+
pytz==2017.2
7+
scipy==0.19.1

templates/base.html

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8">
5+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
8+
<meta name="description" content="">
9+
<meta name="author" content="">
10+
<link rel="icon" href="../../favicon.ico">
11+
12+
<title>My Blog</title>
13+
14+
<!-- Bootstrap core CSS -->
15+
<link href="/static/css/bootstrap.min.css" rel="stylesheet">
16+
17+
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
18+
<link href="/static/css/ie10-viewport-bug-workaround.css" rel="stylesheet">
19+
20+
<!-- Custom styles for this template -->
21+
<link href="/static/css/blog.css" rel="stylesheet">
22+
23+
<!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
24+
<!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
25+
<script src="static/js/ie-emulation-modes-warning.js"></script>
26+
27+
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
28+
<!--[if lt IE 9]>
29+
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
30+
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
31+
<![endif]-->
32+
</head>
33+
34+
<body>
35+
36+
<div class="blog-masthead">
37+
<div class="container">
38+
<nav class="blog-nav">
39+
<a class="blog-nav-item active" href="#">Home</a>
40+
<a class="blog-nav-item" href="#">New features</a>
41+
<a class="blog-nav-item" href="#">Press</a>
42+
<a class="blog-nav-item" href="#">New hires</a>
43+
<a class="blog-nav-item" href="#">About</a>
44+
<a class="blog-nav-item" href="#">Category</a>
45+
</nav>
46+
</div>
47+
</div>
48+
49+
<div class="container">
50+
51+
<div class="blog-header">
52+
<h1 class="blog-title">My Blog</h1>
53+
<p class="lead blog-description">My blog using django</p>
54+
</div>
55+
56+
<div class="row">
57+
58+
<div class="col-sm-8 blog-main">
59+
{% block content %}
60+
{% endblock %}
61+
</div><!-- /.blog-main -->
62+
63+
<div class="col-sm-3 col-sm-offset-1 blog-sidebar">
64+
{% block about %}
65+
<div class="sidebar-module sidebar-module-inset">
66+
<h4>About {{nama}}</h4>
67+
<p>Etiam porta <em>sem malesuada magna</em> mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.</p>
68+
</div>
69+
{% endblock %}
70+
<div class="sidebar-module">
71+
<h4>Category</h4>
72+
<ol class="list-unstyled">
73+
{% for cat in categories %}
74+
<li><a href="/category/{{cat.id}}">{{cat.name}}</a></li>
75+
{% endfor %}
76+
</ol>
77+
</div>
78+
<div class="sidebar-module">
79+
<h4>Elsewhere</h4>
80+
<ol class="list-unstyled">
81+
<li><a href="#">GitHub</a></li>
82+
<li><a href="#">Twitter</a></li>
83+
<li><a href="#">Facebook</a></li>
84+
</ol>
85+
</div>
86+
</div><!-- /.blog-sidebar -->
87+
88+
</div><!-- /.row -->
89+
90+
</div><!-- /.container -->
91+
92+
<footer class="blog-footer">
93+
<p>Blog template built for <a href="http://getbootstrap.com">Bootstrap</a> by <a href="https://twitter.com/mdo">@mdo</a>.</p>
94+
<p>
95+
<a href="#">Back to top</a>
96+
</p>
97+
</footer>
98+
99+
100+
<!-- Bootstrap core JavaScript
101+
================================================== -->
102+
<!-- Placed at the end of the document so the pages load faster -->
103+
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
104+
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
105+
<script src="static/js/bootstrap.min.js"></script>
106+
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
107+
<script src="static/js/ie10-viewport-bug-workaround.js"></script>
108+
</body>
109+
</html>

templates/detail.html

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{% extends "base.html" %}
2+
3+
{% block content %}
4+
<div class="blog-post">
5+
<h2 class="blog-post-title">{{post.title|safe}}</h2>
6+
<p class="blog-post-meta">{{post.created_on|date:"l, d F Y, H:i" }}. Category <a href="#">{{post.category}}</a></p>
7+
8+
{{post.content|safe}}
9+
<img src="{{post.image}}">
10+
</div><!-- /.blog-post -->
11+
{% endblock %}
12+
13+
{% block about %}
14+
15+
{% endblock %}

templates/home.html

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{% extends "base.html" %}
2+
3+
{% block content %}
4+
{% for post in postingan %}
5+
<div class="blog-post">
6+
<h2 class="blog-post-title"><a href="/article/{{post.slug}}">{{post.title|safe}}</a></h2>
7+
<p class="blog-post-meta">{{post.created_on|date:"l, d F Y, H:i" }}. Category <a href="#">{{post.category}}</a></p>
8+
9+
{{post.content|safe}}
10+
</div><!-- /.blog-post -->
11+
{% endfor %}
12+
{% endblock %}
13+
14+
15+
{% block about %}
16+
<div class="sidebar-module sidebar-module-inset">
17+
<h4>About</h4>
18+
<p>Ini about</p>
19+
</div>
20+
{% endblock %}

templates/index.html

Lines changed: 20 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,16 @@
99
<meta name="author" content="">
1010
<link rel="icon" href="../../favicon.ico">
1111

12-
<title>Blog Template for Bootstrap</title>
12+
<title>My Blog</title>
1313

1414
<!-- Bootstrap core CSS -->
15-
<link href="static/css/bootstrap.min.css" rel="stylesheet">
15+
<link href="/static/css/bootstrap.min.css" rel="stylesheet">
1616

1717
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
18-
<link href="static/css/ie10-viewport-bug-workaround.css" rel="stylesheet">
18+
<link href="/static/css/ie10-viewport-bug-workaround.css" rel="stylesheet">
1919

2020
<!-- Custom styles for this template -->
21-
<link href="static/css/blog.css" rel="stylesheet">
21+
<link href="/static/css/blog.css" rel="stylesheet">
2222

2323
<!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
2424
<!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
@@ -41,79 +41,33 @@
4141
<a class="blog-nav-item" href="#">Press</a>
4242
<a class="blog-nav-item" href="#">New hires</a>
4343
<a class="blog-nav-item" href="#">About</a>
44+
<a class="blog-nav-item" href="#">Category</a>
4445
</nav>
4546
</div>
4647
</div>
4748

4849
<div class="container">
4950

5051
<div class="blog-header">
51-
<h1 class="blog-title">The Bootstrap Blog</h1>
52-
<p class="lead blog-description">The official example template of creating a blog with Bootstrap.</p>
52+
<h1 class="blog-title">My Blog</h1>
53+
<p class="lead blog-description">My blog using django</p>
5354
</div>
5455

5556
<div class="row">
5657

5758
<div class="col-sm-8 blog-main">
58-
59-
<div class="blog-post">
60-
<h2 class="blog-post-title">Sample blog post</h2>
61-
<p class="blog-post-meta">January 1, 2014 by <a href="#">Mark</a></p>
62-
63-
<p>This blog post shows a few different types of content that's supported and styled with Bootstrap. Basic typography, images, and code are all supported.</p>
64-
<hr>
65-
<p>Cum sociis natoque penatibus et magnis <a href="#">dis parturient montes</a>, nascetur ridiculus mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.</p>
66-
<blockquote>
67-
<p>Curabitur blandit tempus porttitor. <strong>Nullam quis risus eget urna mollis</strong> ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
68-
</blockquote>
69-
<p>Etiam porta <em>sem malesuada magna</em> mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.</p>
70-
<h2>Heading</h2>
71-
<p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
72-
<h3>Sub-heading</h3>
73-
<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>
74-
<pre><code>Example code block</code></pre>
75-
<p>Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa.</p>
76-
<h3>Sub-heading</h3>
77-
<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
78-
<ul>
79-
<li>Praesent commodo cursus magna, vel scelerisque nisl consectetur et.</li>
80-
<li>Donec id elit non mi porta gravida at eget metus.</li>
81-
<li>Nulla vitae elit libero, a pharetra augue.</li>
82-
</ul>
83-
<p>Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.</p>
84-
<ol>
85-
<li>Vestibulum id ligula porta felis euismod semper.</li>
86-
<li>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</li>
87-
<li>Maecenas sed diam eget risus varius blandit sit amet non magna.</li>
88-
</ol>
89-
<p>Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis.</p>
90-
</div><!-- /.blog-post -->
91-
59+
{% for post in postingan %}
9260
<div class="blog-post">
93-
<h2 class="blog-post-title">Another blog post</h2>
94-
<p class="blog-post-meta">December 23, 2013 by <a href="#">Jacob</a></p>
61+
<h2 class="blog-post-title"><a href="/article/{{post.slug}}">{{post.title|safe}}</a></h2>
62+
<p class="blog-post-meta">{{post.created_on|date:"l, d F Y, H:i" }}. Category <a href="#">{{post.category}}</a></p>
9563

96-
<p>Cum sociis natoque penatibus et magnis <a href="#">dis parturient montes</a>, nascetur ridiculus mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.</p>
97-
<blockquote>
98-
<p>Curabitur blandit tempus porttitor. <strong>Nullam quis risus eget urna mollis</strong> ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
99-
</blockquote>
100-
<p>Etiam porta <em>sem malesuada magna</em> mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.</p>
101-
<p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
64+
{{post.content|safe}}
10265
</div><!-- /.blog-post -->
66+
{% endfor %}
10367

104-
<div class="blog-post">
105-
<h2 class="blog-post-title">New feature</h2>
106-
<p class="blog-post-meta">December 14, 2013 by <a href="#">Chris</a></p>
107-
108-
<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
109-
<ul>
110-
<li>Praesent commodo cursus magna, vel scelerisque nisl consectetur et.</li>
111-
<li>Donec id elit non mi porta gravida at eget metus.</li>
112-
<li>Nulla vitae elit libero, a pharetra augue.</li>
113-
</ul>
114-
<p>Etiam porta <em>sem malesuada magna</em> mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.</p>
115-
<p>Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.</p>
116-
</div><!-- /.blog-post -->
68+
{% for cat in categories %}
69+
{{cat}}
70+
{% endfor %}
11771

11872
<nav>
11973
<ul class="pager">
@@ -126,24 +80,15 @@ <h2 class="blog-post-title">New feature</h2>
12680

12781
<div class="col-sm-3 col-sm-offset-1 blog-sidebar">
12882
<div class="sidebar-module sidebar-module-inset">
129-
<h4>About</h4>
83+
<h4>About {{nama}}</h4>
13084
<p>Etiam porta <em>sem malesuada magna</em> mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.</p>
13185
</div>
13286
<div class="sidebar-module">
133-
<h4>Archives</h4>
87+
<h4>Category</h4>
13488
<ol class="list-unstyled">
135-
<li><a href="#">March 2014</a></li>
136-
<li><a href="#">February 2014</a></li>
137-
<li><a href="#">January 2014</a></li>
138-
<li><a href="#">December 2013</a></li>
139-
<li><a href="#">November 2013</a></li>
140-
<li><a href="#">October 2013</a></li>
141-
<li><a href="#">September 2013</a></li>
142-
<li><a href="#">August 2013</a></li>
143-
<li><a href="#">July 2013</a></li>
144-
<li><a href="#">June 2013</a></li>
145-
<li><a href="#">May 2013</a></li>
146-
<li><a href="#">April 2013</a></li>
89+
{% for cat in categories %}
90+
<li><a href="/category/{{cat.id}}">{{cat.name}}</a></li>
91+
{% endfor %}
14792
</ol>
14893
</div>
14994
<div class="sidebar-module">

0 commit comments

Comments
 (0)