diff --git a/README.md b/README.md index 8c84bb2023be6ccefaf4e913fefe4ca39f7e48cc..30d373ec9386205b1c394dd3556a309bda037dfb 100644 --- a/README.md +++ b/README.md @@ -40,13 +40,16 @@ Pada latihan kali ini menggunakan konsep `try-catch` dimana ketika tiap `time.sl ## Tutorial 4 (DONE) +[Bab 7] Pada tutorial 4 kali ini, mempelajari bagaimana seharusnya sebuah program dibuat secara bertahap. TDD membantu kita untuk bekerja secara bertahap dengan cara memastikan setiap fitur yang kita buat sebelumnya tidak -menjadi rusak dengan penambahan fitur yang kita tambahkan. [Bab 7] +menjadi rusak dengan penambahan fitur yang kita tambahkan. +[Bab 8] Selain itu, tutorial ini saya juga mengimplementasikan styling dengan <b>SCSS</b> -dan juga mengimplementasikannya pada tahap Deployment. +dan juga mengimplementasikannya pada tahap Deployment. Saya juga menggunakan `base.html` +sebagai cara untuk tidak mengulangi suatu kode yang sama. Kemudian, saya juga belajar untuk melakukan testing pada bentuk layout. Sehingga bisa memastikan apakah style yang saya gunakan (dengan <b>SCSS</b>) diff --git a/lists/static/base.css b/lists/static/base.css new file mode 100644 index 0000000000000000000000000000000000000000..cc7eb16202b12f281ee16aba0454e4c7fe4e9ddd --- /dev/null +++ b/lists/static/base.css @@ -0,0 +1,3 @@ +#id_new_item { + margin-top: 2ex; +} \ No newline at end of file diff --git a/lists/static/home1.scss b/lists/static/home1.scss index 3f5e4bc7cfa9337807aeeefe03e481c7d131fa83..a10d1b89c686e84296013b0593948209369ac7c2 100644 --- a/lists/static/home1.scss +++ b/lists/static/home1.scss @@ -8,13 +8,6 @@ body { } } -table { - border-collapse: collapse; - width: 50%; - margin-left: auto; - margin-right: auto; -} - th, td { text-align: left; padding: 8px; diff --git a/lists/templates/base.html b/lists/templates/base.html new file mode 100644 index 0000000000000000000000000000000000000000..b0ad09f15fbd1b181ea8d28a6b77af0a9d92acf9 --- /dev/null +++ b/lists/templates/base.html @@ -0,0 +1,65 @@ +<html> +<head> + <title>Homepage</title> + <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <link href="/static/bootstrap/css/bootstrap.min.css" rel="stylesheet"> + <link href="/static/base.css" rel="stylesheet"> + {% load sass_tags %} + <link href="{% sass_src 'home1.scss' %}" rel="stylesheet" type="text/css"/> +</head> +<body> + +<div class="card"> + <img src="https://assets.gitlab-static.net/uploads/-/system/user/avatar/1572360/avatar.png?width=90" alt="Luthfi" + style="width:100%"> + <h1>Luthfi Dzaky Saifuddin</h1> + <p class="title">28 November 1998</p> + <p id="university">Universitas Indonesia</p> + <div style="margin: 24px 0;"> + <a href="#"><i class="fa fa-dribbble"></i></a> + <a href="#"><i class="fa fa-twitter"></i></a> + <a href="#"><i class="fa fa-linkedin"></i></a> + <a href="#"><i class="fa fa-facebook"></i></a> + </div> + <p> + <button>Contact</button> + </p> +</div> +<div class="container"> + <h3 id="comment-todo" class="text-center"> + {% if list.item_set.count >= 5 %} + oh tidak + {% elif list.item_set.count < 5 %} + sibuk tapi santai + {% else %} + yey, waktunya berlibur + {% endif %} + </h3> + <div class="row"> + <div class="col-md-6 col-md-offset-3 jumbotron"> + <div class="text-center"> + <h1>{% block header_text %}{% endblock %}</h1> + <form method="POST" action="{% block form_action %}{% endblock %}"> + <input name="item_text" id="id_new_item" + class="form-control input-lg" + placeholder="Enter a to-do item" /> + {% csrf_token %} + </form> + </div> + </div> + </div> + + <div class="row"> + <div class="col-md-6 col-md-offset-3"> + {% block table %} + {% endblock %} + </div> + </div> + + </div> + +</body> +</html> \ No newline at end of file diff --git a/lists/templates/homepage.html b/lists/templates/homepage.html index fa6420330497bd528a7609bd7f33849650a26ae5..34ad36d849aa47d4569c027ad235747d24b89f33 100644 --- a/lists/templates/homepage.html +++ b/lists/templates/homepage.html @@ -1,40 +1,5 @@ -<html> -<head> - <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> - <title>Homepage</title> - {% load sass_tags %} - <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" - integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous"> - <link href="{% sass_src 'home1.scss' %}" rel="stylesheet" type="text/css"/> -</head> -<body> +{% extends 'base.html' %} -<div class="card"> - <img src="https://assets.gitlab-static.net/uploads/-/system/user/avatar/1572360/avatar.png?width=90" alt="Luthfi" - style="width:100%"> - <h1>Luthfi Dzaky Saifuddin</h1> - <p class="title">28 November 1998</p> - <p id="university">Universitas Indonesia</p> - <div style="margin: 24px 0;"> - <a href="#"><i class="fa fa-dribbble"></i></a> - <a href="#"><i class="fa fa-twitter"></i></a> - <a href="#"><i class="fa fa-linkedin"></i></a> - <a href="#"><i class="fa fa-facebook"></i></a> - </div> - <p> - <button>Contact</button> - </p> -</div> -<div class="container-fluid"> - <h1>Your To-Do List</h1> - <h3 id="comment-todo"> - yey, waktunya berlibur - </h3> - <form method="POST" action="/lists/new"> - <input name="item_text" id="id_new_item" placeholder="Enter a to-do item"/> - {% csrf_token %} - </form> -</div> +{% block header_text %}Start a new To-Do list{% endblock %} -</body> -</html> \ No newline at end of file +{% block form_action %}/lists/new{% endblock %} \ No newline at end of file diff --git a/lists/templates/list.html b/lists/templates/list.html index cead1890fbc513fd2e68b494ccd574aeb704f7cd..64f1a0f3eccc39dce648e59b54038c58f480dd3c 100644 --- a/lists/templates/list.html +++ b/lists/templates/list.html @@ -1,41 +1,14 @@ -<html> -<head> - <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> - <title>Homepage</title> - {% load sass_tags %} - <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" - integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous"> - <link href="{% sass_src 'home1.scss' %}" rel="stylesheet" type="text/css"/> -</head> -<body> +{% extends 'base.html' %} -<div class="container-fluid"> - <h1>Your To-Do List</h1> - <h3 id="comment-todo"> - {% if list.item_set.count == 0 %} - yey, waktunya berlibur - {% elif list.item_set.count < 5 %} - sibuk tapi santai - {% else %} - oh tidak - {% endif %} - </h3> - - <form method="POST" action="/lists/{{ list.id }}/add_item"> - <input name="item_text" id="id_new_item" placeholder="Enter a to-do item"/> - {% csrf_token %} - </form> - <table id="id_list_table"> - <tr> - <th>My To-Do</th> - </tr> - {% for item in list.item_set.all %} - <tr> - <td>{{ forloop.counter }}: {{ item.text }}</td> - </tr> - {% endfor %} - </table> -</div> +{% block header_text %}Your To-Do list{% endblock %} + +{% block form_action %}/lists/{{ list.id }}/add_item{% endblock %} -</body> -</html> \ No newline at end of file +{% block table %} + <table id="id_list_table" class="table"> + <tr><th>My To Do List</th></tr> + {% for item in list.item_set.all %} + <tr><td>{{ forloop.counter }}: {{ item.text }}</td></tr> + {% endfor %} + </table> +{% endblock %} \ No newline at end of file diff --git a/superlists/settings.py b/superlists/settings.py index d0ffac2ac1a469f3030cb33f32cf1883fc78d285..0e721931b4f93d6ae71abd81333515f0820f42c1 100644 --- a/superlists/settings.py +++ b/superlists/settings.py @@ -131,7 +131,7 @@ USE_TZ = True # https://docs.djangoproject.com/en/1.11/howto/static-files/ STATIC_URL = '/static/' -STATIC_ROOT = os.path.join(PROJECT_DIR, 'static') +STATIC_ROOT = os.path.join(BASE_DIR, 'static') STATICFILES_FINDERS = [ 'django.contrib.staticfiles.finders.AppDirectoriesFinder',