关于django python manage.py startapp 应用名出错异常原因解析

关于django项目中使用python manage.py startapp 应用名命令出现异常的问题,一般有以下两种情况:

1. 应用名命名不规范

在创建应用时,如果应用名不规范,将会出现异常。在django中,应用名需要遵循以下规则:

  • 应用名只能包含字母、数字和下划线;
  • 应用名不能以数字开头;
  • 应用名不能与已有的django关键字重名,例如:admin, auth, contenttypes 等。

示例:

当我尝试运行以下命令时:python manage.py startapp test-1。将会看到以下类似的异常信息:

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 "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
        utility.execute()
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/core/management/__init__.py", line 356, in execute
        self.fetch_command(subcommand).run_from_argv(self.argv)
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/core/management/base.py", line 283, in run_from_argv
        self.execute(*args, **cmd_options)
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/core/management/base.py", line 330, in execute
        output = self.handle(*args, **options)
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/core/management/base.py", line 141, in handle
        self.check()
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/core/management/base.py", line 371, in check
        include_deployment_checks=include_deployment_checks,
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/core/management/commands/check.py", line 59, in _run_checks
        return checks.run_checks(**kwargs)
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/core/checks/registry.py", line 76, in run_checks
        new_errors = check(app_configs=app_configs)
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/core/checks/urls.py", line 13, in check_url_config
        return check_resolver(resolver)
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/core/checks/urls.py", line 23, in check_resolver
        return check_method()
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/urls/resolvers.py", line 398, in check
        for pattern in self.url_patterns:
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/utils/functional.py", line 80, in __get__
        res = instance.__dict__[self.name] = self.func(instance)
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/urls/resolvers.py", line 579, in url_patterns
        patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/utils/functional.py", line 80, in __get__
        res = instance.__dict__[self.name] = self.func(instance)
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/urls/resolvers.py", line 572, in urlconf_module
        return import_module(self.urlconf_name)
      File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/importlib/__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 994, in _gcd_import
      File "<frozen importlib._bootstrap>", line 971, in _find_and_load
      File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 678, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "/Users/xxx/test_project/test_project/urls.py", line 22, in <module>
        url(r'^', include('test-1.urls')),
    ValueError: invalid literal for int() with base 10: '1/'

其中包含ValueError的异常信息,这是因为应用名中含有-,导致django无法正确地解析应用名,而产生的一个错误。

2. Django项目配置异常

此种异常通常指的是当我们尝试在一个没有初始化为django项目的文件夹中新建一个django项目,并在项目中尝试使用python manage.py startapp 应用名命令时,会出现异常。这是因为django项目的配置在创建项目时就需要初始化。

示例:

当我尝试在一个无法解析为django项目的文件夹中运行以下命令时:python manage.py startapp test。将会看到以下类似的异常信息:

Traceback (most recent call last):
      File "manage.py", line 10, in <module>
        execute_from_command_line(sys.argv)
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
        utility.execute()
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/core/management/__init__.py", line 356, in execute
        self.fetch_command(subcommand).run_from_argv(self.argv)
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/core/management/base.py", line 283, in run_from_argv
        self.execute(*args, **cmd_options)
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/core/management/base.py", line 330, in execute
        output = self.handle(*args, **options)
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/core/management/base.py", line 141, in handle
        self.check()
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/core/management/base.py", line 371, in check
        include_deployment_checks=include_deployment_checks,
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/core/management/commands/check.py", line 59, in _run_checks
        return checks.run_checks(**kwargs)
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/core/checks/registry.py", line 76, in run_checks
        new_errors = check(app_configs=app_configs)
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/core/checks/databases.py", line 10, in check_database_backends
        for conn in connections.all():
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/db/utils.py", line 212, in all
        return [self[alias] for alias in self]
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/db/utils.py", line 212, in <listcomp>
        return [self[alias] for alias in self]
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/db/utils.py", line 187, in __getitem__
        conn = backend.DatabaseWrapper(db, alias)
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/db/backends/__init__.py", line 181, in __init__
        self.ops = ConnectionOps(self)
      File "/Users/xxx/.virtualenvs/test/lib/python3.6/site-packages/django/db/backends/mysql/operations.py", line 86, in __init__
        super().__init__()
    TypeError: super() takes at least 1 argument (0 given)

其中包含了TypeError的异常信息,这是因为我们尝试在一个没有初始化为django项目的文件夹中尝试新建一个django应用,而产生的一个错误。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:关于django python manage.py startapp 应用名出错异常原因解析 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • 浅析python 定时拆分备份 nginx 日志的方法

    浅析Python定时拆分备份Nginx日志的方法,可以分为以下几个步骤: 1. 确定日志拆分方式 可以根据需要选择按时间或按大小拆分日志。按时间拆分可以简单地根据日期拆分,例如每天、每周或每月。按大小拆分可以设置每个日志文件的最大大小,当超出后新开一个日志文件。 2. 编写Python脚本 下面是一个基本的Python脚本,用于按日期拆分Nginx日志文件:…

    python 2023年6月3日
    00
  • Python实现向PPT中插入表格与图片的方法详解

    这里是关于“Python实现向PPT中插入表格与图片的方法详解”的攻略: Python实现向PPT中插入表格与图片的方法详解 准备工作: 安装Python-pptx模块 Python-pptx是用于生成和更新PowerPoint (.pptx)文件的Python库,它是PPT格式的Python实现。可以在官网上查看详细的安装方法。 使用Python创建一个P…

    python 2023年5月19日
    00
  • Python dict的使用误区你知道吗

    当我们使用Python开发过程中,使用Python字典是非常常见的。然而,许多开发者存在着困惑和误区,这会导致他们在编写代码的过程中出现各种问题。下面是Python dict使用误区的攻略。 误区1:认为字典是按顺序的 Python字典是无序的。虽然你在Python3.7中会发现字典数据会按特定的顺序打印,但实际上并没有保证字典的顺序。如果你需要按特定顺序处…

    python 2023年5月13日
    00
  • Python2.7.10以上pip更新及其他包的安装教程

    Python2.7.10以上pip更新及其他包的安装教程 1.更新pip到最新版本 在命令行中输入如下代码: pip install –upgrade pip 执行上述代码后,pip会自动下载并安装最新版本的pip。 2. 安装其他Python包 以安装numpy和pandas为例,执行以下代码: 安装numpy pip install numpy 安装p…

    python 2023年5月14日
    00
  • Python Xml文件添加字节属性的方法

    针对这个问题,我可以给出以下的完整攻略: Python Xml文件添加字节属性的方法 在Python中,可以使用标准库中的 xml.etree.ElementTree 模块来解析和操作XML文件。下面是添加字节属性的方法: 1. 获取Xml Element对象 首先需要获取到待设置属性的XML节点的Element对象。可以使用 xml.etree.Eleme…

    python 2023年6月3日
    00
  • python 实现两个线程交替执行

    要实现两个线程交替执行,可以通过线程同步技术,如锁、条件变量来实现。下面我详细讲解一下完整攻略: 创建两个线程对象 首先,我们需要创建两个线程对象,该线程对象实例化Thread类即可。例如: import threading thread1 = threading.Thread(target=func1) thread2 = threading.Thread…

    python 2023年5月19日
    00
  • python程序变成软件的实操方法

    要将Python程序变成软件,我们可以使用打包工具将Python程序打包为仅包含可执行文件和所需资源的独立应用程序。以下是实现Python程序打包的一般步骤: 步骤1:安装打包工具 有许多Python包可用于打包Python程序,如pyinstaller、cx_Freeze、py2exe 等。在本篇文章中,我们将使用pyinstaller作为示例。首先,我们…

    python 2023年5月31日
    00
  • pandas预处理部分地区数据案例

    pandas预处理部分地区数据案例的完整攻略 pandas是Python中一个非常强大的数据处理库,它可以帮助我们对数据进行清洗、转换、分析等操作。在本文中,我们将介绍如何pandas对部分地区的数据进行预处理,包括数据清洗、数据转换、数据分析等操作。 第一步:导入数据 首先,我们需要导入数据。在本文中,我们将使用一个包含部分地区数据的CSV文件。我们可以使…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部