• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

449
Views
Django TypeError: el argumento de tipo 'PosixPath' no es iterable

Estoy usando la última versión de django django 2.2.12

Traté de buscar errores antes de la migración con el comando

python3 manage.py check

pero luego arroja el siguiente error

 Traceback (most recent call last): File "manage.py", line 22, in <module> main() File "manage.py", line 18, in main execute_from_command_line(sys.argv) File "/usr/lib/python3/dist-packages/django/core/management/__init__.py", line 381, in execute_from_command_line utility.execute() File "/usr/lib/python3/dist-packages/django/core/management/__init__.py", line 375, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/usr/lib/python3/dist-packages/django/core/management/base.py", line 336, in run_from_argv connections.close_all() File "/usr/lib/python3/dist-packages/django/db/utils.py", line 224, in close_all connection.close() File "/usr/lib/python3/dist-packages/django/db/backends/sqlite3/base.py", line 248, in close if not self.is_in_memory_db(): File "/usr/lib/python3/dist-packages/django/db/backends/sqlite3/base.py", line 367, in is_in_memory_db return self.creation.is_in_memory_db(self.settings_dict['NAME']) File "/usr/lib/python3/dist-packages/django/db/backends/sqlite3/creation.py", line 12, in is_in_memory_db return database_name == ':memory:' or 'mode=memory' in database_name TypeError: argument of type 'PosixPath' is not iterable
over 3 years ago · Santiago Trujillo
6 answers
Answer question

0

Creé un nuevo proyecto Django en Ubuntu 20.04 usando Python 3.7 y Django 3.1.5. Cuando ejecuto ./manage.py migrate migrate o ./manage.py makemigrations . Me sale el error en la pregunta original. Descubrí que cambiar a Python 3.8 corrige el error.

over 3 years ago · Santiago Trujillo Report

0

Estoy usando Ubuntu 20.04 , python 3.8.5 y Django 3.0.5 . Tuve el mismo error después de instalar el paquete djongo para trabajar con MongoDB , el mismo error pero no la misma causa, sin embargo, pude corregir el error convirtiendo BASE_DIR / 'db.sqlite3' en una cadena

str(BASE_DIR / 'db.sqlite3' )

over 3 years ago · Santiago Trujillo Report

0

si usa la plantilla startproject de Django 3.1. debe usar la función str() en su archivo de configuración.

encuentra este código en el archivo de configuración

 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } }

cambiarlo a:

 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': str(BASE_DIR / "db.sqlite3"), } }

o puede usar os.path.join(BASE_DIR, 'db.sqlite3'),

over 3 years ago · Santiago Trujillo Report

0

Me encontré con esto por sorpresa. Estaba generando una serie de proyectos de Django en 3.1.3 fuera de un entorno virtual e hice una instalación pip rápida que redujo mi requisito de Django a 3.05. Los ajustes de configuración anteriores se veían así

 """ Django settings for config project. Generated by 'django-admin startproject' using Django 3.1.3. """ from pathlib import Path # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent

y después de la instalación, los scripts ./manage.py subsiguientes de repente comenzaron a darme el mismo rastreo. La reconstrucción de mi proyecto configuró mi configuración para que se vea así:

 """ Django settings for config project. Generated by 'django-admin startproject' using Django 3.0.5. """ import os # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

Cuál fue el aviso. Parece que el script de generación de configuraciones detecta cuándo su entorno se adapta mejor a un mecanismo de construcción de ruta u otro.

Desafortunadamente, envolver str() alrededor de las rutas me permitió emitir algunos comandos ./manage sin error, pero ya no podía iniciar el servidor en ningún otro proyecto que creé sin rastros mucho peores.

Me pregunto si hay algo como un > pip revert --time=-2hrs.

Terminé desinstalando el último par de instalaciones de paquetes y haciendo una instalación explícita de Django 3.1.3 para volver a donde estaba. tiempo de congelación de pepitas.

over 3 years ago · Santiago Trujillo Report

0

Asegúrese de haber importado el sistema operativo en la configuración de nivel de proyecto.py:

 import os

Agregue lo siguiente en BASES DE DATOS dentro de settings.py:

 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),

En las últimas versiones de django, podemos hacer las siguientes configuraciones usando str() :

 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': str(BASE_DIR / "db.sqlite3"), } }
over 3 years ago · Santiago Trujillo Report

0

Parece que especificó una configuración de base de datos con un objeto Path , conviértalo en str() .

over 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error