{"title":"Cómo instalar Django","version":"6.1","locale":"es","docname":"topics/install","url":"/es/6.1/topics/install/","canonical":"https://djangodocs.dev/es/6.1/topics/install/","summary":"Este documento le ayudará a tener Django instalado y funcionando. Instale Python Link to this heading # Django es un framework web de Python. Visite…","html":"<h1>Cómo instalar Django<a class=\"heading-anchor\" href=\"#how-to-install-django\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Este documento le ayudará a tener Django instalado y funcionando.</p>\n<section id=\"install-python\">\n<h2>Instale Python<a class=\"heading-anchor\" href=\"#install-python\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django es un framework web de Python. Visite ref:faq-python-version-support para más detalles.</p>\n<p>Obtenga la última versión de Python en <a class=\"reference external\" href=\"https://www.python.org/download/\">https://www.python.org/download/</a> o con el administrador de paquetes de su sistema operativo.</p>\n<aside class=\"admonition-python-on-windows admonition\">\n<p class=\"admonition-title\">Python en Windows</p>\n<p>Si está comenzando con Django en Windows, <a class=\"reference internal\" href=\"/es/6.1/howto/windows/\"><span class=\"doc\">How to install Django on Windows</span></a> podría resultarle útil.</p>\n</aside>\n</section>\n<section id=\"install-apache-and-mod-wsgi\">\n<h2>Instalar Apache y <code class=\"docutils literal notranslate\"><span class=\"pre\">mod_wsgi</span></code><a class=\"heading-anchor\" href=\"#install-apache-and-mod-wsgi\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Si solo desea experimentar con Django salte a la siguiente sección; Django incluye une servidor web ligero que puede utilizar para testing, así que no será necesario configurar Apache hasta que esté listo para hacer el despliegue de Django en producción.</p>\n<p>Si desea usar Django en un sitio en producción, utilice <a class=\"reference external\" href=\"https://httpd.apache.org/\">Apache</a> con <a class=\"reference external\" href=\"https://modwsgi.readthedocs.io/en/develop/\">mod_wsgi</a>. mod_wsgi opera en uno de dos modos: modo embebido o modo daemon. En el modo embebido, mod_wsgi es similar a mod_perl: incrusta Python dentro de Apache y carga el código Python en memoria cuando el servidor se inicia. El código permanece en memoria durante la vida del proceso de Apache, lo que conduce a mejoras significativas de rendimiento frente a otras configuraciones de servidor. En el modo daemon, mod_wsgi genera un proceso daemon independiente que se encarga de manejar las peticiones. Este proceso daemon puede ejecutarse como un usuario diferente al del servidor web, lo que puede mejorar la seguridad. Además, el proceso daemon puede reiniciarse sin necesidad de reiniciar todo el servidor web Apache, lo que facilita la actualización de la base de código. Consulte la documentación de mod_wsgi para determinar qué modo es el más adecuado para su configuración. Asegúrese de tener Apache instalado con el módulo mod_wsgi activado. Django funcionará con cualquier versión de Apache que sea compatible con mod_wsgi.</p>\n<p>Visite <a class=\"reference internal\" href=\"/es/6.1/howto/deployment/wsgi/modwsgi/\"><span class=\"doc\">How to use Django with mod_wsgi</span></a> para obtener más información sobre como configurar mod_wsgi una vez lo instale.</p>\n<p>Si no puede usar mod_wsgi por alguna razón, no tema: Django tiene soporte para otras opciones de despliegue, Una es <a class=\"reference internal\" href=\"/es/6.1/howto/deployment/wsgi/uwsgi/\"><span class=\"doc\">uWSGI</span></a> la cual funciona muy bien con <a class=\"reference external\" href=\"https://nginx.org/\">nginx</a>. Adicionalmente, Django sigue la especificación WSGI (<span class=\"target\" id=\"index-2\"></span><a class=\"pep reference external\" href=\"https://peps.python.org/pep-3333/\"><strong>PEP 3333</strong></a>), lo que le permite ejecutarse en una variedad de plataformas de servidores.</p>\n</section>\n<section id=\"get-your-database-running\">\n<span id=\"database-installation\"></span><h2>Configure su base de datos<a class=\"heading-anchor\" href=\"#get-your-database-running\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Si planea usar las funcionalidades que ofrece la API de bases de datos de Django, entonces necesitará estar seguro de que un servidor de bases de datos esté en ejecución. Django admite muchos tipos diferentes de servidores de base de datos y tiene soporte oficial con <a class=\"reference external\" href=\"https://www.postgresql.org/\">PostgreSQL</a>, <a class=\"reference external\" href=\"https://mariadb.org/\">MariaDB</a>, <a class=\"reference external\" href=\"https://www.mysql.com/\">MySQL</a>, <a class=\"reference external\" href=\"https://www.oracle.com/\">Oracle</a> y <a class=\"reference external\" href=\"https://www.sqlite.org/\">SQLite</a>.</p>\n<p>Si está desarrollando un proyecto pequeño o algo que no planea desplegar en un entorno de producción, SQLite es generalmente la mejor opción dado que no requiere ejecutar un servidor por separado. Sin embargo, SQLite tiene muchas diferencias con otras bases de datos, por lo que si está trabajando en algo sustancial, se recomienda desarrollar con la misma base de datos que planea usar en producción.</p>\n<p>Además de las bases de datos con soporte oficial, existen :ref:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>backends ofrecidos por terceros &lt;third-party-notes&gt; ` que le permiten utilizar otras bases de datos con Django.</p>\n<p>Para utilizar una base de datos diferente a SQLite , deberá asegurarse de que estén instaladas las bibliotecas de enlace de Python correspondientes para la base de datos.</p>\n<ul class=\"simple\">\n<li><p>Si está utilizando PostgreSQL, necesitará el paquete <a class=\"reference external\" href=\"https://www.psycopg.org/psycopg3/\">psycopg</a> o el <a class=\"reference external\" href=\"https://www.psycopg.org/\">psycopg2</a>. Visite <a class=\"reference internal\" href=\"/es/6.1/ref/databases/#postgresql-notes\"><span class=\"std std-ref\">PostgreSQL notes</span></a> para más detalles.</p></li>\n<li><p>Si está utilizando MySQL o MariaDB, necesitará un <a class=\"reference internal\" href=\"/es/6.1/ref/databases/#mysql-db-api-drivers\"><span class=\"std std-ref\">DB API driver</span></a> como <code class=\"docutils literal notranslate\"><span class=\"pre\">mysqlclient</span></code>. Visite <a class=\"reference internal\" href=\"/es/6.1/ref/databases/#mysql-notes\"><span class=\"std std-ref\">notes for the MySQL backend</span></a>  para más detalles.</p></li>\n<li><p>Si utilizá SQLite quizá desee leer <a class=\"reference internal\" href=\"/es/6.1/ref/databases/#sqlite-notes\"><span class=\"std std-ref\">SQLite backend notes</span></a>.</p></li>\n<li><p>Si está usando Oracle, necesitará instalar <a class=\"reference external\" href=\"https://oracle.github.io/python-oracledb/\">oracledb</a>, por favor lea antes las <a class=\"reference internal\" href=\"/es/6.1/ref/databases/#oracle-notes\"><span class=\"std std-ref\">notas para el backend de Oracle</span></a> para más detalles sobre el soporte de versiones tanto de Oracle como de <code class=\"docutils literal notranslate\"><span class=\"pre\">oracledb</span></code>.</p></li>\n<li><p>Si está usando algún backend no oficial de terceros, por favor consulte la documentación provista para otros requisitos adicionales.</p></li>\n</ul>\n<p>Y asegúrese de que las siguientes claves en el item  <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>”default”` del diccionario <a class=\"reference internal\" href=\"/es/6.1/ref/settings/#std-setting-DATABASES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DATABASES</span></code></a>  coincidan con sus configuraciones de conexión de base de datos.</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/es/6.1/ref/settings/#std-setting-DATABASE-ENGINE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">ENGINE</span></code></a> – bien sea <code class=\"docutils literal notranslate\"><span class=\"pre\">'django.db.backends.sqlite3'</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">'django.db.backends.postgresql_psycopg2'</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">'django.db.backends.mysql'</span></code>, o <code class=\"docutils literal notranslate\"><span class=\"pre\">'django.db.backends.oracle'</span></code>. Otros backends <a class=\"reference internal\" href=\"/es/6.1/ref/databases/#third-party-notes\"><span class=\"std std-ref\">también están disponibles</span></a>.</p></li>\n<li><p><a class=\"reference internal\" href=\"/es/6.1/ref/settings/#std-setting-NAME\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">NAME</span></code></a> –  El nombre de tu base de datos. Si utiliza SQLite, la base de datos será un archivo en su ordenador. En ese caso, <code class=\"docutils literal notranslate\"><span class=\"pre\">NAME</span></code> deberá ser la ruta absoluta completa, incluyendo el nombre del archivo. No necesita crear nada de antemano; el archivo de la base de datos se creará automáticamente cuando sea necesario. El valor por default, <code class=\"docutils literal notranslate\"><span class=\"pre\">BASE_DIR</span> <span class=\"pre\">/</span> <span class=\"pre\">'db.sqlite3'</span></code>, guardará el archivo en el directorio de su proyecto.</p></li>\n</ul>\n<aside class=\"admonition-for-databases-other-than-sqlite admonition\">\n<p class=\"admonition-title\">Para bases de datos distintas a SQLite</p>\n<p>Si no está utilizando SQLite como su base de datos, se deben añadir ajustes adicionales tales como <a class=\"reference internal\" href=\"/es/6.1/ref/settings/#std-setting-USER\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">USER</span></code></a>, <a class=\"reference internal\" href=\"/es/6.1/ref/settings/#std-setting-PASSWORD\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">PASSWORD</span></code></a>, y <a class=\"reference internal\" href=\"/es/6.1/ref/settings/#std-setting-HOST\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">HOST</span></code></a> se deben añadir. Para más información, vea la documentación de referencia para <a class=\"reference internal\" href=\"/es/6.1/ref/settings/#std-setting-DATABASES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DATABASES</span></code></a>.</p>\n<p>Asegúrese de haber creado la base de datos para este punto. Haga esto con «<code class=\"docutils literal notranslate\"><span class=\"pre\">CREATE</span> <span class=\"pre\">DATABASE</span> <span class=\"pre\">database_name;</span></code>» dentro de la terminal interactiva de tu base de datos.</p>\n</aside>\n<p>Si planea utilizar el comando <code class=\"docutils literal notranslate\"><span class=\"pre\">manage.py</span> <span class=\"pre\">migrate</span></code> para automáticamente crear las tablas de la base de datos para sus modelos (después de haber instalado Django y creado un proyecto), se tendrá que asegurar de que Django tenga permiso de crear y alterar tablas en la base de datos que esté utilizando; si planea crear manualmente las tablas , puede también dar a Django permisos de <code class=\"docutils literal notranslate\"><span class=\"pre\">SELECT</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">INSERT</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">UPDATE</span></code> y` DELETE` . Después de crear un usuario en la base de datos con estos permisos, usted especificará estos detalles en el archivo settings del proyecto, visite <a class=\"reference internal\" href=\"/es/6.1/ref/settings/#std-setting-DATABASES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DATABASES</span></code></a>  para más detalles.</p>\n<p>Si utiliza el  <a class=\"reference internal\" href=\"/es/6.1/topics/testing/\"><span class=\"doc\">testing framework</span></a>  de Django para probar queries a la base de datos, Django necesitará permiso para crear una base de datos de prueba.</p>\n</section>\n<section id=\"install-the-django-code\">\n<span id=\"install-django-code\"></span><h2>Instalé el código de Django<a class=\"heading-anchor\" href=\"#install-the-django-code\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Installation instructions are slightly different depending on whether you’re\ninstalling a distribution-specific package, downloading the latest official\nrelease, or fetching the latest development version.</p>\n<section id=\"installing-an-official-release-with-pip\">\n<span id=\"installing-official-release\"></span><h3>Installing an official release with <code class=\"docutils literal notranslate\"><span class=\"pre\">pip</span></code><a class=\"heading-anchor\" href=\"#installing-an-official-release-with-pip\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>This is the recommended way to install Django.</p>\n<ol class=\"arabic\">\n<li><p>Install <a class=\"reference external\" href=\"https://pip.pypa.io/\">pip</a>. The easiest is to use the <a class=\"reference external\" href=\"https://pip.pypa.io/en/latest/installation/\">standalone pip installer</a>. If your\ndistribution already has <code class=\"docutils literal notranslate\"><span class=\"pre\">pip</span></code> installed, you might need to update it if\nit’s outdated. If it’s outdated, you’ll know because installation won’t\nwork.</p></li>\n<li><p>Take a look at <a class=\"reference external\" href=\"https://docs.python.org/3/tutorial/venv.html\" title=\"(en Python versión 3.14)\"><span class=\"xref std std-doc\">venv</span></a>. This tool provides\nisolated Python environments, which are more practical than installing\npackages systemwide. It also allows installing packages without\nadministrator privileges. The <a class=\"reference internal\" href=\"/es/6.1/intro/contributing/\"><span class=\"doc\">contributing tutorial</span></a> walks through how to create a virtual environment.</p></li>\n<li><p>After you’ve created and activated a virtual environment, enter the command:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-0-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>-m<span class=\"w\"> </span>pip<span class=\"w\"> </span>install<span class=\"w\"> </span>Django\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-0-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py -m pip install Django\n</code></pre></div></div></div>\n</li>\n</ol>\n</section>\n<section id=\"installing-a-distribution-specific-package\">\n<span id=\"installing-distribution-package\"></span><h3>Installing a distribution-specific package<a class=\"heading-anchor\" href=\"#installing-a-distribution-specific-package\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Check the <a class=\"reference internal\" href=\"/es/6.1/misc/distributions/\"><span class=\"doc\">distribution specific notes</span></a> to see if\nyour platform/distribution provides official Django packages/installers.\nDistribution-provided packages will typically allow for automatic installation\nof dependencies and supported upgrade paths; however, these packages will\nrarely contain the latest release of Django.</p>\n</section>\n<section id=\"installing-the-development-version\">\n<span id=\"installing-development-version\"></span><h3>Installing the development version<a class=\"heading-anchor\" href=\"#installing-the-development-version\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<aside class=\"admonition-tracking-django-development admonition\">\n<p class=\"admonition-title\">Tracking Django development</p>\n<p>If you decide to use the latest development version of Django,\nyou’ll want to pay close attention to <a class=\"reference external\" href=\"https://code.djangoproject.com/timeline\">the development timeline</a>,\nand you’ll want to keep an eye on the <a class=\"reference internal\" href=\"/es/6.1/releases/#development-release-notes\"><span class=\"std std-ref\">release notes for the\nupcoming release</span></a>. This will help you stay\non top of any new features you might want to use, as well as any changes\nyou’ll need to make to your code when updating your copy of Django.\n(For stable releases, any necessary changes are documented in the\nrelease notes.)</p>\n</aside>\n<p>If you’d like to be able to update your Django code occasionally with the\nlatest bug fixes and improvements, follow these instructions:</p>\n<ol class=\"arabic\">\n<li><p>Make sure that you have <a class=\"reference external\" href=\"https://git-scm.com/\">Git</a> installed and that you can run its commands\nfrom a shell. (Enter <code class=\"docutils literal notranslate\"><span class=\"pre\">git</span> <span class=\"pre\">help</span></code> at a shell prompt to test this.)</p></li>\n<li><p>Check out Django’s main development branch like so:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-1-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>git<span class=\"w\"> </span>clone<span class=\"w\"> </span>https://github.com/django/django.git\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-1-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> git clone https://github.com/django/django.git\n</code></pre></div></div></div>\n<p>This will create a directory <code class=\"docutils literal notranslate\"><span class=\"pre\">django</span></code> in your current directory.</p>\n</li>\n<li><p>Make sure that the Python interpreter can load Django’s code. The most\nconvenient way to do this is to use a virtual environment and <a class=\"reference external\" href=\"https://pip.pypa.io/\">pip</a>. The\n<a class=\"reference internal\" href=\"/es/6.1/intro/contributing/\"><span class=\"doc\">contributing tutorial</span></a> walks through how to\ncreate a virtual environment.</p></li>\n<li><p>After setting up and activating the virtual environment, run the following\ncommand:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-2-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>-m<span class=\"w\"> </span>pip<span class=\"w\"> </span>install<span class=\"w\"> </span>-e<span class=\"w\"> </span>django/\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-2-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py -m pip install -e django\\\n</code></pre></div></div></div>\n<p>This will make Django’s code importable, and will also make the\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django-admin</span></code> utility command available. In other words, you’re all\nset!</p>\n</li>\n</ol>\n<p>When you want to update your copy of the Django source code, run the command\n<code class=\"docutils literal notranslate\"><span class=\"pre\">git</span> <span class=\"pre\">pull</span></code> from within the <code class=\"docutils literal notranslate\"><span class=\"pre\">django</span></code> directory. When you do this, Git will\ndownload any changes.</p>\n</section>\n</section>","rootId":"how-to-install-django","toc":[{"title":"Instale Python","anchor":"install-python","children":[]},{"title":"Instalar Apache y mod_wsgi","anchor":"install-apache-and-mod-wsgi","children":[]},{"title":"Configure su base de datos","anchor":"get-your-database-running","children":[]},{"title":"Instalé el código de Django","anchor":"install-the-django-code","children":[{"title":"Installing an official release with pip","anchor":"installing-an-official-release-with-pip","children":[]},{"title":"Installing a distribution-specific package","anchor":"installing-a-distribution-specific-package","children":[]},{"title":"Installing the development version","anchor":"installing-the-development-version","children":[]}]}],"breadcrumbs":[{"docname":"topics/index","title":"Using Django","url":"/es/6.1/topics/"}],"prev":{"docname":"topics/index","title":"Using Django","url":"/es/6.1/topics/"},"next":{"docname":"topics/db/index","title":"Models and databases","url":"/es/6.1/topics/db/"},"formats":{"html":"/es/6.1/topics/install/","markdown":"/es/6.1/topics/install.md","json":"/es/6.1/topics/install.json"},"source":"https://github.com/django/django/blob/stable/6.1.x/docs/topics/install.txt","official":"https://docs.djangoproject.com/es/6.1/topics/install/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}