L'histoire de la création d'une application Web qui enregistre des lectures approfondies avec Django

introduction

La lecture approfondie en anglais, l'ouverture et l'enregistrement du cahier de lecture à chaque fois que je le lis est un gâchis, et je ne peux pas maintenir ma motivation. .. .. J'ai donc fait du lecteur extensif une application Web. Ce que j'ai fait → https://tadokuapp.herokuapp.com/tadoku/

une fonction

Puisqu'il serait ennuyeux de lister la date, le titre, le nombre de mots, etc. comme un lecteur de papier extensif, le nombre de mots est affiché sur le calendrier. En outre, le nombre de mots lus chaque mois est affiché sous forme de graphique à barres. Screenshot from 2020-03-20 02-51-34_Original.jpg Screenshot from 2020-03-20 02-55-13_Original.jpg

Environnement de développement

python3.7.6 Django3.0.3

calendrier

Série de création de calendriers avec Django J'ai fait référence au calendrier de cette personne. J'apprécie vraiment cela. ~~ Je ne peux pas le faire moi-même ~~ Le nombre de mots lus ce jour-là est affiché sous la date.

Autour de l'authentification

Pour vous connecter et vous déconnecter, utilisez celui qui est fourni en standard avec Django et inscrivez-vous par vous-même. Aussi, écrivez html en haut de la page pour que "Bienvenue (nom d'utilisateur), déconnexion" s'affiche lors de la connexion et "Bienvenue, connexion" s'affiche lors de la déconnexion.

base.html


{% if user.is_authenticated %}
    <a href="{% url 'accounts:logout' %}" class='user'>Welcome {{ user.get_username }}, logout</a>
{% else %}
    <a href="{% url 'accounts:login' %}" class='user'>Welcome guest, login here!</a>
{% endif %}

Graphique

Transmettez les informations de livre de l'utilisateur actuellement connecté dans les vues au modèle. Chart.js est utilisé pour dessiner le graphique. De plus, le nombre de mots (mensuel et tous les deux), le montant de l'augmentation du nombre de mots par rapport au mois précédent et le nombre de livres lus (mensuellement et tous les deux) sont affichés sous le graphique. J'ai également ajouté un bouton tweet. https://publish.twitter.com/#

profil

Je suis seul avec juste le nom d'utilisateur et les informations sur l'utilisateur, alors j'ai introduit le rang d'utilisateur ~~ (quelque chose comme le taux d'Atcoder) ~~. Le rang de l'utilisateur est changé en gris, marron, vert ... en fonction du nombre de mots lus.

Déployer

C'est heroku. (Je voulais le déployer avec DigitalOcean, mais j'ai abandonné car le paiement était Creca ou PayPal)

Impressions

Depuis que j'ai commencé à étudier Django, cela a pris un temps inattendu, mais je suis content que ce soit terminé. Il y a de nombreuses améliorations, telles que l'accélération en optimisant les requêtes et l'introduction du cache, et l'amélioration de la convivialité en améliorant l'authentification sociale et les taux (comme la réduction si vous sautez), je vais donc continuer le développement.

Résumé

Django est amusant.

Recommended Posts

L'histoire de la création d'une application Web qui enregistre des lectures approfondies avec Django
L'histoire de la création d'un module qui ignore le courrier avec python
L'histoire du développement d'une application WEB qui génère automatiquement des copies de capture [MeCab]
Créer une application Web avec Django
L'histoire de la création d'un bot de boîte à questions avec discord.py
L'histoire de la création d'un pilote standard pour db avec python.
J'ai fait une application WEB avec Django
Une histoire qui visualise le présent de Qiita avec Qiita API + Elasticsearch + Kibana
L'histoire de la création d'un robot LINE pour le petit-déjeuner d'une université de 100 yens avec Python
L'histoire de la création d'une caméra sonore avec Touch Designer et ReSpeaker
L'histoire de la création d'un package qui accélère le fonctionnement de Juman (Juman ++) & KNP
L'histoire de la création d'un générateur d'icônes mel
L'histoire de la fabrication d'une boîte qui interconnecte la mémoire AL de Pepper et MQTT
L'histoire de Django créant une bibliothèque qui pourrait être un peu plus utile
L'histoire de la création d'un Line Bot qui nous raconte le calendrier de la programmation du concours
Une histoire qui réduit l'effort de fonctionnement / maintenance
L'histoire de la création d'un réseau neuronal de génération musicale
Une histoire qui a eu du mal avec l'ensemble commun HTTP_PROXY = ~
L'histoire de la confusion entre la production japonaise et Django
Une histoire qui a analysé la livraison de Nico Nama.
Créer une application Web avec Django
Créez une application Web qui reconnaît les nombres avec un réseau neuronal
L'histoire du champ de modèle Django disparaissant de la classe
Créez une API Web capable de fournir des images avec Django
Déployer l'application Django avec Docker
L'histoire du remontage du serveur d'application
L'histoire de l'exportation d'un programme
Une histoire coincée avec l'installation de la bibliothèque de machine learning JAX
[python, ruby] sélénium-Obtenez le contenu d'une page Web avec le pilote Web
L'histoire du travail de sortie de l'application que Google ne raconte pas
L'histoire de la création d'un site qui répertorie les dates de sortie des livres
Une histoire qui prend en charge la notation électronique des examens avec reconnaissance d'image
Effectuer un test d'application de fichier de migration avec Django + PostgreSQL (Evil Edition)
Lancement d'une application Web sur AWS avec django et modification des tâches
Notez que j'étais accro à accéder à la base de données avec mysql.connector de Python en utilisant une application Web
L'histoire de la création d'un outil qui fonctionne sur Mac et Windows sur le site de développement de jeux
L'histoire de la création d'un Bot qui affiche les membres actifs dans un canal spécifique de Slack avec Python
Une histoire que j'ai eu du mal en essayant de créer une "application qui convertit des images comme des peintures" avec la première application Web
L'histoire d'un capteur de stationnement en 10 minutes avec le kit de démarrage GrovePi +
Le panneau Web LXC qui peut faire fonctionner LXC avec un navigateur était merveilleux
L'histoire de la fabrication d'un moule immuable
[Python] Une application web rapide avec Bottle!
Hit une méthode d'une instance de classe avec l'API Web Python Bottle
L'histoire de la création d'un slackbot qui génère un gif ou un png lorsque vous envoyez le code de traitement
Exécutez une application Web Python avec Docker
L'histoire du traitement A du blackjack (python)
L'histoire de la création d'un outil pour charger une image avec Python ⇒ l'enregistrer sous un autre nom
L'histoire de l'utilisation de mysqlclient car PyMySQL ne peut pas être utilisé avec Django 2.2
Avantages et inconvénients de Django que pensent les personnes ayant un an d'expérience
L'histoire de l'adresse IPv6 que je souhaite conserver au minimum
Autour de l'authentification de PyDrive2, un package pour faire fonctionner Google Drive avec Python
Notez la solution car django n'a pas pu s'installer avec pip
Je souhaite créer une application WEB en utilisant les données de League of Legends ①
L'histoire de la méthode d'apprentissage qui a acquis LinuC Niveau 1 avec seulement ping -t
[Python] Un programme qui calcule le nombre de mises à jour des enregistrements les plus élevés et les plus faibles