关于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实现字母闪烁效果的示例代码

    让我们来详细讲解如何实现Python中的字母闪烁效果。 简介 字母闪烁效果是一种常见的动态效果,通常是在应用程序中用来吸引用户眼球的一种特效。在Python中,我们可以使用一些库来实现这种效果,比如Tkinter、Pygame等。接下来,我们将以Tkinter库为例来演示如何实现字母闪烁效果。 步骤 步骤一:导入相关库 首先,我们需要导入Tkinter库来实…

    python 2023年5月31日
    00
  • Python手写回归树的实现

    Python手写回归树的实现攻略 简介 回归树是一种常用的回归挖掘技术,其基本思想是通过对样本数据的递归划分来建立模型,对于每一次的划分都是基于当前样本集中的某一个特征,根据该特征分裂为若干子集,使得每个子集的目标值尽可能的接近,最终达到建立决策树模型的目的。在本文中,我们将使用 Python 语言手写一个回归树模型,并使用两个实例来说明其基本使用方法和实现…

    python 2023年6月3日
    00
  • python保存两位小数的多种方法汇总

    下面是Python保存两位小数的多种方法汇总的完整攻略。 方法一:使用round函数 在Python中,可以使用round()函数将一个浮点数保留指定的位数。这个函数需要两个参数,第一个参数是需要保留的浮点数,第二个参数是需要保留的小数位数。 num = 1.235678 result = round(num, 2) print(result) # 1.24…

    python 2023年6月3日
    00
  • python 队列基本定义与使用方法【初始化、赋值、判断等】

    Python 队列基本定义与使用方法 队列(Queue)是一种线性数据结构,它具有先进先出的特点。即先进入队列的元素,先出队列。 Python中的队列可以使用collections库中的deque双端队列来实现。deque是一个双向队列,支持在两端进行插入和删除操作,实现了O(1)的时间复杂度。 初始化队列 可以使用collections库中的deque,也…

    python 2023年6月6日
    00
  • 使用Python和xlwt向Excel文件中写入中文的实例

    当使用Python语言开发脚本程序操作Excel文件时,需要用到xlwt库。在使用xlwt库向Excel中写入中文时,需要将中文字符编码转换为unicode字符集,再调用相关的xlwt库的函数进行写入操作。 下面将给出一个完整的Python编写脚本,向Excel文件中写入中文数据的例程。 1. 准备工作 首先需要安装xlwt库,如果还没有安装该库,请使用以下…

    python 2023年5月13日
    00
  • 关于Python 解决Python3.9 pandas.read

    在Python3.9版本中,使用pandas.read_csv()函数读取csv文件时,可能会出现以下错误: AttributeError: module ‘pandas’ has no attribute ‘read_csv’ 这是因为在Python3.9版本中,pandas.read_csv()函数已经被弃用,取而代之的是pandas.read_csv(…

    python 2023年5月13日
    00
  • python列表生成器常用迭代器示例详解

    以下是“Python列表生成器常用迭代器示例详解”的完整攻略。 1. 列表生成器的概述 列表生成器是Python中常用的一种迭代器,它可以用来快速生成一个列表。器的语法比较简单,可以使用一行代码来生成一个列表。 2. 列表生成器的语法 列表生成器的语如下: [expression for item in iterable] 其中,expression是一个表…

    python 2023年5月13日
    00
  • Python3获取cookie常用三种方案

    Python3 获取 Cookie 常用三种方案 在进行网络爬虫时,有些网站需要登录才能访问。获取登录后的 Cookie 是进行后续操作的必要步骤。以下是 Python3 获取 Cookie 常用三种方案的详细介绍。 1. 使用 requests 模块获取 Cookie requests 是一个流行的 Python HTTP 库,可以用来发送 HTTP 请求…

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