add basic view of a note
authorFrédéric Péters <fpeters@0d.be>
Sun, 29 Dec 2019 13:56:24 +0000 (14:56 +0100)
committerFrédéric Péters <fpeters@0d.be>
Mon, 30 Dec 2019 08:35:50 +0000 (09:35 +0100)
chloro/phyll/templates/phyll/base.html [new file with mode: 0644]
chloro/phyll/templates/phyll/note_detail.html [new file with mode: 0644]
chloro/phyll/urls.py [new file with mode: 0644]
chloro/phyll/views.py [new file with mode: 0644]
chloro/settings.py
chloro/urls.py

diff --git a/chloro/phyll/templates/phyll/base.html b/chloro/phyll/templates/phyll/base.html
new file mode 100644 (file)
index 0000000..466fb4b
--- /dev/null
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8"/> <!-- 🌱 -->
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Coin web de Frédéric Péters</title>
+    <link rel="stylesheet" type="text/css" href="/static/css/style.css">
+  </head>
+  <body>
+  {% block body %}
+  {% endblock %}
+  </body>
+</html>
diff --git a/chloro/phyll/templates/phyll/note_detail.html b/chloro/phyll/templates/phyll/note_detail.html
new file mode 100644 (file)
index 0000000..4abf3af
--- /dev/null
@@ -0,0 +1,8 @@
+{% extends "phyll/base.html" %}
+
+{% block body %}
+<h1>{{ object.title }}</h1>
+
+<div>{{ object.text|safe }}</div>
+
+{% endblock %}
diff --git a/chloro/phyll/urls.py b/chloro/phyll/urls.py
new file mode 100644 (file)
index 0000000..e1ae6d1
--- /dev/null
@@ -0,0 +1,23 @@
+# chloro - personal space
+# Copyright (C) 2019  Frederic Peters
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU Affero General Public License as published
+# by the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+from django.conf.urls import url
+
+from . import views
+
+urlpatterns = [
+    url(r'^(?P<slug>[\w:-]+)/$', views.NoteView.as_view()),
+]
diff --git a/chloro/phyll/views.py b/chloro/phyll/views.py
new file mode 100644 (file)
index 0000000..cb12807
--- /dev/null
@@ -0,0 +1,23 @@
+# chloro - personal space
+# Copyright (C) 2019  Frederic Peters
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU Affero General Public License as published
+# by the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+from django.views.generic import DetailView
+
+from .models import Note
+
+
+class NoteView(DetailView):
+    model = Note
index 2d8e8b6f87e50563f5cf8db7baf1818637759f9e..4ee2cfe73a6c0f04d645242a6d0132bdb9823337 100644 (file)
@@ -106,9 +106,15 @@ USE_TZ = True
 
 # Static files (CSS, JavaScript, Images)
 # https://docs.djangoproject.com/en/1.11/howto/static-files/
-
+STATIC_ROOT = os.path.join(BASE_DIR, 'collected-static')
 STATIC_URL = '/static/'
 
+
+# Media files
+MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
+MEDIA_URL = '/media/'
+
+
 local_settings_file = os.environ.get(
     'CHLORO_SETTINGS_FILE', os.path.join(os.path.dirname(__file__), 'local_settings.py')
 )
index b20867a4b745abfa9541843163f6cbf699bb76bb..032add73e3e25d23200c82f6af2f154aac6bc832 100644 (file)
@@ -1,18 +1,28 @@
-"""chloro URL Configuration
+# chloro - personal space
+# Copyright (C) 2019  Frederic Peters
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU Affero General Public License as published
+# by the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-The `urlpatterns` list routes URLs to views. For more information please see:
-    https://docs.djangoproject.com/en/1.11/topics/http/urls/
-Examples:
-Function views
-    1. Add an import:  from my_app import views
-    2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')
-Class-based views
-    1. Add an import:  from other_app.views import Home
-    2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')
-Including another URLconf
-    1. Import the include() function: from django.conf.urls import url, include
-    2. Add a URL to urlpatterns:  url(r'^blog/', include('blog.urls'))
-"""
-from django.conf.urls import url
+from django.conf import settings
+from django.conf.urls import include, url
+from django.conf.urls.static import static
+from django.contrib.staticfiles.urls import staticfiles_urlpatterns
 
 urlpatterns = []
+
+# static and media files
+urlpatterns += staticfiles_urlpatterns()
+urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
+
+urlpatterns.append(url(r'', include('chloro.phyll.urls')))