diff --git a/ProyectoWeb/ProyectoWeb/settings.py b/ProyectoWeb/ProyectoWeb/settings.py index 124760e..ebbc8b0 100644 --- a/ProyectoWeb/ProyectoWeb/settings.py +++ b/ProyectoWeb/ProyectoWeb/settings.py @@ -39,6 +39,7 @@ INSTALLED_APPS = [ 'django.contrib.staticfiles', 'ProyectoWebApp', 'servicios', + 'blog', ] MIDDLEWARE = [ diff --git a/ProyectoWeb/blog/__init__.py b/ProyectoWeb/blog/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/ProyectoWeb/blog/admin.py b/ProyectoWeb/blog/admin.py new file mode 100644 index 0000000..d0d91bf --- /dev/null +++ b/ProyectoWeb/blog/admin.py @@ -0,0 +1,16 @@ +from django.contrib import admin +from .models import Categoria, Entrada + +# Register your models here. + +class CategoriaAdmin(admin.ModelAdmin): + readonly_fields = ('created', 'updated') + + +class EntradasAdmin(admin.ModelAdmin): + readonly_fields = ('created', 'updated') + + +admin.site.register(Categoria, CategoriaAdmin) +admin.site.register(Entrada, EntradasAdmin) + diff --git a/ProyectoWeb/blog/apps.py b/ProyectoWeb/blog/apps.py new file mode 100644 index 0000000..7930587 --- /dev/null +++ b/ProyectoWeb/blog/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class BlogConfig(AppConfig): + name = 'blog' diff --git a/ProyectoWeb/blog/migrations/0001_initial.py b/ProyectoWeb/blog/migrations/0001_initial.py new file mode 100644 index 0000000..dab1347 --- /dev/null +++ b/ProyectoWeb/blog/migrations/0001_initial.py @@ -0,0 +1,47 @@ +# Generated by Django 3.1.3 on 2020-11-21 05:08 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Categoria', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('nombre', models.CharField(max_length=50)), + ('created', models.DateTimeField(auto_now_add=True)), + ('updated', models.DateTimeField(auto_now_add=True)), + ], + options={ + 'verbose_name': 'categoria', + 'verbose_name_plural': 'categorias', + }, + ), + migrations.CreateModel( + name='Entrada', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('titulo', models.CharField(max_length=50)), + ('contenido', models.CharField(max_length=50)), + ('imagen', models.ImageField(blank=True, null=True, upload_to='blog')), + ('created', models.DateTimeField(auto_now_add=True)), + ('updated', models.DateTimeField(auto_now_add=True)), + ('autor', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ('categorias', models.ManyToManyField(to='blog.Categoria')), + ], + options={ + 'verbose_name': 'entrada', + 'verbose_name_plural': 'entradas', + }, + ), + ] diff --git a/ProyectoWeb/blog/migrations/__init__.py b/ProyectoWeb/blog/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/ProyectoWeb/blog/migrations/__pycache__/0001_initial.cpython-38.pyc b/ProyectoWeb/blog/migrations/__pycache__/0001_initial.cpython-38.pyc new file mode 100644 index 0000000..e513fe7 Binary files /dev/null and b/ProyectoWeb/blog/migrations/__pycache__/0001_initial.cpython-38.pyc differ diff --git a/ProyectoWeb/blog/migrations/__pycache__/__init__.cpython-38.pyc b/ProyectoWeb/blog/migrations/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..bdf6eaf Binary files /dev/null and b/ProyectoWeb/blog/migrations/__pycache__/__init__.cpython-38.pyc differ diff --git a/ProyectoWeb/blog/models.py b/ProyectoWeb/blog/models.py new file mode 100644 index 0000000..95956e3 --- /dev/null +++ b/ProyectoWeb/blog/models.py @@ -0,0 +1,37 @@ +from django.db import models +from django.contrib.auth.models import User + +# Create your models here. + +class Categoria(models.Model): + nombre = models.CharField( max_length = 50 ) + created = models.DateTimeField( auto_now_add = True) + updated = models.DateTimeField( auto_now_add = True) + + class Meta: + verbose_name = 'categoria' + verbose_name_plural = 'categorias' + + + def __str__(self): + return self.nombre + + +class Entrada(models.Model): + titulo = models.CharField( max_length = 50 ) + contenido = models.CharField( max_length = 50 ) + autor = models.ForeignKey( User, on_delete = models.CASCADE ) + categorias = models.ManyToManyField( Categoria ) + imagen = models.ImageField( upload_to='blog', null=True, blank=True ) + created = models.DateTimeField( auto_now_add = True) + updated = models.DateTimeField( auto_now_add = True) + + class Meta: + verbose_name = 'entrada' + verbose_name_plural = 'entradas' + + + def __str__(self): + return self.titulo + + diff --git a/ProyectoWeb/blog/views.py b/ProyectoWeb/blog/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/ProyectoWeb/blog/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here.