Creación de proyecto Django en PyCharm

PyCharm es un potente IDE de Python que ofrece un excelente soporte para el framework Django, especialmente en su edición profesional (PyCharm Pro).

Iniciar PyCharm y crear un nuevo proyecto

  1. Abrir PyCharm y hacer clic en 'Nuevo proyecto'
  2. Seleccionar 'Django' en el lado izquierdo
  3. Configurar la ubicación del proyecto (Location)
  4. Configurar el intérprete de Python (se recomienda crear un nuevo entorno virtual)

Configurar los parámetros del proyecto

  • Nombre del proyecto: Usar una combinación de letras minúsculas y guiones bajos (por ejemplo, DjangoProject)
  • Lenguaje de plantillas: Seleccionar Django por defecto
  • Framework de frontend: Se puede elegir según sea necesario (los principiantes pueden omitirlo)
  • Habilitar Django admin: Se puede marcar

Esperar a que se inicialice el proyecto

PyCharm automáticamente:

  1. Creará un entorno virtual
  2. Instalará la última versión estable de Django
  3. Generará la estructura básica del proyecto

Análisis de la estructura del proyecto

Una vez completada la creación, verá los siguientes archivos y directorios principales:

Directorio raíz del proyecto

  • manage.py: Herramienta de línea de comandos de Django
  • Directorio con el mismo nombre que el proyecto(por ejemplo, DjangoProject/): Contiene la configuración principal del proyecto

Directorio de configuración del proyecto

  • init.py: Identifica que se trata de un paquete de Python
  • settings.py: Archivo de configuración del proyecto
  • urls.py: Configuración de rutas URL
  • wsgi.py: Configuración del servidor WSGI

Otros archivos importantes

  • requirements.txt: Archivo de dependencias del proyecto (PyCharm puede generarlo automáticamente)
  • venv/: Directorio del entorno virtual (si se elige crear un entorno virtual)

Ejecutar el servidor de desarrollo de Django

Ejecutar a través de PyCharm

  1. Hacer clic en el menú desplegable de configuración de ejecución en la esquina superior derecha de PyCharm
  2. Seleccionar 'Configuración -> Editar'

  3. Asegurarse de que el servidor Django esté configurado
  4. Hacer clic en el botón verde de ejecución

Ejecutar a través de la línea de comandos

  1. Abrir la terminal de PyCharm
  2. Ingresar el comando:python3 manage.py runserver

    Tras iniciarse correctamente, la información de la terminal se muestra de la siguiente manera

    :

  3. Visitar http://127.0.0.1:8000Ver la página predeterminada:

Solución de problemas comunes

  • Conflicto de puertos: Usarpython manage.py runserver 8080para especificar otro puerto
  • Base de datos no migrada: En la primera ejecución se debe ejecutarpython manage.py migrate

Crear una aplicación Django

Crear una nueva aplicación

Ingresar en la terminal de PyCharm:

python3 manage.py startapp myapp

Agregar la aplicación asettings.pydeINSTALLED_APPS:

INSTALLED_APPS = [
    ...
    'myapp',
]

En el proyectourls.pyincluir las rutas de la aplicación:

Ejemplo

from django.contrib import admin
from django.urls import path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('myapp/', include('myapp.urls')),
]

Estructura del directorio de la aplicación

  • migrations/: Archivos de migración de la base de datos
  • admin.py: Configuración del panel de administración
  • apps.py: Configuración de la aplicación
  • models.py: Definición de modelos de datos
  • tests.py: Código de prueba
  • views.py: Funciones de vista

Configurar las rutas URL en el directorio myapp

Abrir myapp/models.py y definir los modelos. Por ejemplo:

Ejemplo

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

Después de guardar, ejecutar python manage.py makemigrations y python manage.py migrate para actualizar la base de datos.

Crear vistas y URL:

Definir las vistas en myapp/views.py:

Ejemplo

from django.shortcuts import render
from .models import Post

def post_list(request):
    posts = Post.objects.all()
    return render(request, 'myapp/post_list.html', {'posts': posts})

Configurar las URL en myapp/urls.py (debe crearse manualmente):

Ejemplo

from django.urls import path
from . import views

urlpatterns = [
    path('', views.post_list, name='post_list'),
]

Crear la carpeta DjangoProject/templates/myapp/ en el directorio raíz del proyecto y luego crear post_list.html en esa carpeta:

Ejemplo

<!DOCTYPE html>
<html>
<head>
    <title>Post List</title>
</head>
<body>
    <h1>Posts</h1>
    <ul>
        {% for post in posts %}
            <li>{{ post.title }} - {{ post.created_at }}</li>
        {% empty %}
            <li>No posts available.</li>
        {% endfor %}
    </ul>
</body>
</html>

Asegurarse de que la configuración TEMPLATES en settings.py contenga el directorio de plantillas correcto:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR / 'templates'],
        ...
    }
]
Otras extensiones