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

yizhihongxing

关于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读取浮点数和读取文本文件示例

    Python是一种强大的编程语言,具有众多的功能和库。在其中读取浮点数和读取文本文件是常见的操作之一。 读取浮点数 读取单个浮点数 使用Python内置的input()函数可以读取用户输入的字符串,但是默认情况下读取到的都是字符串类型。如果需要读取浮点数,需要进行类型转换。 例如,下面的代码演示了如何通过input()读取一个浮点数并进行计算: num = …

    python 2023年6月5日
    00
  • python requests 使用快速入门

    Python requests使用快速入门 Python requests是一个流行的HTTP库,它可以让我们轻松地发送HTTP请求,并处理响应。本文将介绍如何使用Python requests库进行HTTP请求,并提供一些示例说明。 安装requests库 在使用requests库之前,我们需要先安装它。我们使用pip命令来安装requests库,如下所示…

    python 2023年5月14日
    00
  • Python利用pip安装tar.gz格式的离线资源包

    下面是Python利用pip安装tar.gz格式的离线资源包的完整攻略: 1. 下载离线资源包并解压 首先需要下载对应版本的tar.gz格式的离线资源包,可以从官网或者第三方网站下载,这里以下载Django1.11.8版本的资源包为例。下载完成后将资源包解压到本地指定的文件夹中,注意要保留目录结构。 2. 安装pip 如果你还没有安装pip,需要先安装它。可…

    python 2023年5月14日
    00
  • Python编程itertools模块处理可迭代集合相关函数

    Python编程中的itertools模块是一个处理可迭代集合的库,提供了各种函数可以方便地对可迭代集合进行处理。下面将介绍一些itertools模块中处理可迭代集合相关函数的使用攻略。 1. itertools.cycle函数 itertools.cycle函数通过让可迭代的seq无限循环来创建一个迭代器。示例代码如下: import itertools …

    python 2023年6月3日
    00
  • Python脚本文件外部传递参数的处理方法

    下面我将为您详细讲解Python脚本文件外部传递参数的处理方法的完整攻略。 什么是Python脚本文件外部传递参数? Python脚本文件外部传递参数,即在运行Python脚本时,通过命令行参数的形式传递变量值给脚本文件进行处理。 如何在Python脚本文件中处理外部传递的参数? Python提供了一个名为sys的标准库,其中包含了一些与Python解释器和…

    python 2023年6月3日
    00
  • Python NumPy教程之索引详解

    Python NumPy教程之索引详解 索引 在 NumPy 数组中,索引可以应用于数组的每个维度。这个概念可能比在 Python 中使用列表以及其他序列容器的索引稍微复杂一些,但它在 NumPy 中同样有效。了解如何使用索引对于输入数组进行修改很关键。这里是一些基本的索引示例: 基本索引 创建一个 3 x 4 的数组: import numpy as np…

    python 2023年6月6日
    00
  • python与js进行MD5取hash有什么不同

    Python与JavaScript进行MD5 Hash的不同之处 在现代网站开发中,安全性一直是一个重要的话题。在网站的后端或前端中,对密码、账户等敏感信息进行加密是常见的操作之一。而在这些加密方式中,MD5 Hash是较为常用的一种,既可确保数据的安全性,又可保护用户的隐私。 Python和JavaScript都是常见的网站开发语言,同时也都具备用于进行M…

    python 2023年6月3日
    00
  • Pyside2中嵌入Matplotlib的绘图的实现

    Pyside2是一个Python的GUI应用程序开发框架,而Matplotlib是Python绘图库之一。在Pyside2中,将Matplotlib嵌入GUI应用程序可以为用户提供高级的自定义数据可视化服务。本文将详细讲解在Pyside2中嵌入Matplotlib的绘图的实现攻略,包含以下步骤: 安装必需的Python库 在Pyside2中嵌入Matplot…

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