关于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在csv中编写嵌套字典?

    【问题标题】:How to write nested dictionary in csv with python when the row contents are key values of related key (the header of each column)?当行内容是相关键的键值(每列的标题)时,如何用python在csv中编写嵌套字典? 【…

    Python开发 2023年4月6日
    00
  • Python 标准库 fileinput与文件迭代器

    Python 标准库 fileinput 与文件迭代器 Python 的 fileinput 模块提供了一种简单的方式来读取来自多个文件或输入流的任意数量的行。该模块维护在文件列表中的当前文件,并在文件之间进行切换。和 Python 的流一样,它的工作方式是将每个文件作为一个序列来处理。 1. fileinput 模块的基本用法 fileinput 模块的主…

    python 2023年6月3日
    00
  • python按行读取文件并找出其中指定字符串

    下面是详细讲解 “python按行读取文件并找出其中指定字符串” 的攻略: 1. 读取文件 在 Python 中,我们可以使用 open() 函数来打开文件。使用方式如下: with open(‘filename.txt’, ‘r’) as f: # 进行文件操作 其中,第一个参数 ‘filename.txt’ 是要读取的文件名,第二个参数 ‘r’ 表示文件…

    python 2023年6月3日
    00
  • Shell中通配符的具体使用

    下面是详细的攻略: Shell中通配符的具体使用 在Shell中,通配符是一种用于匹配文件名的特殊字符。通配符可以帮助我们快速定位和操作文件。本文将手把手教你Shell中通配符的具体使用,并提供两个示例说明。 基本通配符 在Shell中,常用的通配符有以下几种: 通配符 描述 * 匹配任意字符 ? 匹配单个字符 [ ] 匹配指定范围内的字符 { } 匹配指定…

    python 2023年5月14日
    00
  • Python使用Beautiful Soup实现解析网页

    Python使用Beautiful Soup实现解析网页 本文将介绍如何使用Python的Beautiful Soup库解析网页。我们将使用Beautiful Soup库解析HTML文档,并使用find()和find_all()方法查找元素。 解析HTML文档 以下是一个示例代码,演示如何使用Python的Beautiful Soup库解析HTML文档: f…

    python 2023年5月15日
    00
  • python 读写中文json的实例详解

    下面就是对“python 读写中文json的实例详解”的完整攻略。 1. 准备工作 在实现中文JSON的读写之前,我们需要先准备好以下工作: 安装Python 3环境 确保已经安装了Python中的json库(一般Python环境自带) 如果你是第一次安装Python环境,可以选择从官网下载安装包,选择适合自己操作系统的版本进行安装。 如果你已经安装Pyth…

    python 2023年5月31日
    00
  • Python Ruby 等语言弃用自增运算符原因剖析

    Python、Ruby等语言弃用自增运算符原因剖析 在Python、Ruby等动态语言中,不再支持自增运算符(++)的使用,其原因主要有以下几点: 1. 语法歧义 在C语言中,自增运算符可以放在变量名前或者后面,但是在不同的语法环境下会产生不同的意义。 例如: int a = 1, b = 0; b = a++; // 等价于 b = a; a = a + …

    python 2023年5月13日
    00
  • Python lambda表达式用法实例分析

    Python lambda表达式用法实例分析 什么是lambda表达式 lambda表达式是一种简洁的函数定义方式,用于定义简单的函数形式。它不需要函数名,不需要return语句,只需要输入参数和一个表达式即可完成函数定义。 举个例子,以下是使用传统函数定义方式完成一个平方数的函数: def square(x): return x * x 而使用lambda…

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