Django es un excelente framework de Python para desarrollar poryectos web. Siguiendo los tutoriales he encontrado algunas cosas interesantes:

Además de todo lo que puedes encontrar en el tutorial de Python https://docs.djangoproject.com/en/1.11/intro/tutorial01/

Es importante tener en cuenta los comandos preliminares:

python -m django –version

Versión del framework

django-admin startproject mysite

Crea un proyecto con la configuración Estándar

python manage.py runserver

Inicia un servidor (Se puede configurar la IP y el puerto)

python manage.py startapp polls

Crea una aplicacion (microproyecto) en el proyecto. Revisar si se genera el archivo apps.py importante, si no genera actualizar la versión de Django.

Creamos los modelos en esta app:

from django.db import models

class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

python manage.py migrate

Realiza una migración de los esquemas del proyecto. Todas las que están enlazadas en INSTALLED_APPS en el archivo settings.py. Hay algunas por defecto, quitarlas si no se van a utilizar.

Para migrar un modelo de una de las apps. Solo es agregarla en INSTALLED_APPS en el caso del tutorial se agrega:

INSTALLED_APPS = (
    'polls.apps.PollsConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
)

Generará un archivo en la parpeta polls/migrations con esquema del modelo.

python manage.py makemigrations polls

Prepara la migración del modelo del apps polls. Esto se realiza antes de python manage.py migrate.

python manage.py shell

Uno de los más interesantes. Con el podemos realizar todo tipo de querys a la bd usando las herramientas de django:

$ python manage.py shell
>>> from polls.models import Question, Choice
>>> Question.objects.all()
<QuerySet []>
>>>
>>> from django.utils import timezone
>>> q = Question(question_text="Wtf?", pub_date=timezone.now())
>>> q.save()
>>> q.id
1L
>>>

Esta serie de comandos se importa los modelos creados en el tutorial, crear una entidad y guardarla.

python manage.py createsuperuser

Este comando genera un super usario que permite añadir a las configuraciones del sistema, como los usuarios, grupos y los propios modelos. Si editamos el archivo admin.py así:

from django.contrib import admin

from .models import Question
from .models import Choice

admin.site.register(Question)
admin.site.register(Choice

Podemos modificar estos modelos desde el enlace  http://localhost:8000/admin, se verá algo así:

Screenshot-2017-10-12 Log in Django site admin

 

Screenshot-2017-10-12 Site administration Django site admin