https://github.com/edgar-code-repository/django_simple_blog
Sencillo blog desarrollado con Django, Bootstrap y PostgreSQL.
https://github.com/edgar-code-repository/django_simple_blog
Last synced: 6 months ago
JSON representation
Sencillo blog desarrollado con Django, Bootstrap y PostgreSQL.
- Host: GitHub
- URL: https://github.com/edgar-code-repository/django_simple_blog
- Owner: edgar-code-repository
- Created: 2019-11-17T02:11:40.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-12-15T22:48:10.000Z (over 6 years ago)
- Last Synced: 2025-01-23T04:29:33.414Z (over 1 year ago)
- Language: Python
- Homepage:
- Size: 1.03 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
DJANGO BLOG APP
---------------------------------------------------------------------------------------------------------------------
Sencillo blog desarrollado con Django 2.2.4 y Bootstrap 4.
La aplicación se conecta a una base de datos PostgreSQL utilizando las librerias psycopg2 y dj_database_url.
---------------------------------------------------------------------------------------------------------------------
Se definen 3 models (Technology, Category y Post):
```
class Technology(models.Model):
name = models.CharField(max_length=150)
class Meta:
ordering = ["name"]
def __str__(self):
return self.name
class Category(models.Model):
technology = models.ForeignKey(Technology, on_delete=models.CASCADE)
name = models.CharField(max_length=150)
image = models.ImageField()
class Meta:
ordering = ["name"]
def __str__(self):
return self.name
class Post(models.Model):
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
category = models.ForeignKey(Category, on_delete=models.CASCADE)
title = models.CharField(max_length=150)
summary = models.TextField()
content = models.TextField()
publication_date = models.DateTimeField(auto_now=False, auto_now_add=True)
last_modification_date = models.DateTimeField(auto_now=True, auto_now_add=False)
class Meta:
ordering = ["-last_modification_date", "-publication_date"]
def __str__(self):
return self.title
```
---------------------------------------------------------------------------------------------------------------------
Se configuran models para ser utilizados desde la aplicación admin que provee Django,
modificando archivo admin.py:
```
admin.site.register(Technology, TechnologyModelAdmin)
admin.site.register(Category, CategoryModelAdmin)
admin.site.register(Post, PostModelAdmin)
```
---------------------------------------------------------------------------------------------------------------------
Con la configuración realizada es posible administrar posts en la página admin:

---------------------------------------------------------------------------------------------------------------------
Página publica del blog, en la cual se despliegan los posts paginados y las categorías a las que pertenecen los posts:

---------------------------------------------------------------------------------------------------------------------