DjangoWeb开发遇到的第一个坑

项目场景:

新建了第一个Django项目


问题描述:

执行 python manage.py runserver的时候疯狂报错


```python
E:\tool\django_test\test_noe>python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
October 30, 2020 - 14:45:19
Django version 3.1.1, using settings 'test_noe.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
E:\tool\django_test\test_noe\test_noe\settings.py changed, reloading.
Watching for file changes with StatReloader
Exception in thread django-main-thread:
Traceback (most recent call last):
  File "D:\py3.7\lib\threading.py", line 926, in _bootstrap_inner
    self.run()
  File "D:\py3.7\lib\threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "D:\py3.7\lib\site-packages\django-3.1.1-py3.7.egg\django\utils\autoreload.py", line 53, in wrapper
    fn(*args, **kwargs)
  File "D:\py3.7\lib\site-packages\django-3.1.1-py3.7.egg\django\core\management\commands\runserver.py", line 110, in inner_run
    autoreload.raise_last_exception()
  File "D:\py3.7\lib\site-packages\django-3.1.1-py3.7.egg\django\utils\autoreload.py", line 76, in raise_last_exception
    raise _exception[1]
  File "D:\py3.7\lib\site-packages\django-3.1.1-py3.7.egg\django\core\management\__init__.py", line 357, in execute
    autoreload.check_errors(django.setup)()
  File "D:\py3.7\lib\site-packages\django-3.1.1-py3.7.egg\django\utils\autoreload.py", line 53, in wrapper
    fn(*args, **kwargs)
  File "D:\py3.7\lib\site-packages\django-3.1.1-py3.7.egg\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "D:\py3.7\lib\site-packages\django-3.1.1-py3.7.egg\django\apps\registry.py", line 91, in populate
    app_config = AppConfig.create(entry)
  File "D:\py3.7\lib\site-packages\django-3.1.1-py3.7.egg\django\apps\config.py", line 90, in create
    module = import_module(entry)
  File "D:\py3.7\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'rest-framework'

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 "D:\py3.7\lib\site-packages\django-3.1.1-py3.7.egg\django\core\management\__init__.py", line 401, in execute_from_command
_line
    utility.execute()
  File "D:\py3.7\lib\site-packages\django-3.1.1-py3.7.egg\django\core\management\__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "D:\py3.7\lib\site-packages\django-3.1.1-py3.7.egg\django\core\management\base.py", line 330, in run_from_argv
    self.execute(*args, *
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Django的弱点可能包括: 1. 性能问题:相较于轻量级框架,Django的开销比较大,可能需要更多的计算资源来支持同等请求负载。 2. 灵活性问题:Django的约束较强,如果需要定制化开发,可能需要花费更多时间和精力进行深入研究。 3. API支持问题:相较于其他框架,Django对RESTful API的支持相对较弱,可能需要借助第三方库进行开发。 4. 缓存机制问题:Django的缓存机制相对来说比较简单,可能需要自行扩展或使用第三方缓存库进行优化。 5. 复杂度问题:Django是一个全栈框架,涵盖了许多方面的功能,因此使用和开发难度相对较高,特别是对初学者来说可能较为陡峭。 ### 回答2: Django是一种流行的Python Web框架,具有强大的功能和广泛的应用。然而,Django目前在以下几个方面可能相对较弱: 1. 前端开发能力:Django主要关注后端的构建和数据处理,对于前端开发来说,可能相对较弱。Django默认使用模板语言进行页面渲染,而不是像React或Vue这样的现代JavaScript框架,因此在构建富交互性的前端界面时可能会相对困难。 2. 扩展能力:Django提供了许多内置的功能和扩展,使得使用起来非常方便。然而,当需要实现一些非常定制化的功能时,可能需要编写大量的自定义代码,这可能相对较麻烦。相比之下,像Flask这样的微框架则更容易进行灵活的扩展。 3. 高并发支持:虽然Django在处理一般的网站流量时表现良好,但在高并发的情况下,可能相对较弱。由于Python的全局解释器锁(GIL),Django在同一时间只能处理一个请求。为了应对高并发场景,可能需要使用诸如Gunicorn或uWSGI等服务器部署方案。 4. 学习曲线:相对于其他Python Web框架来说,Django的学习曲线可能较陡峭。Django拥有丰富的功能和复杂的概念,对于初学者来说可能需要花费更多的时间来理解和熟悉。 尽管Django在某些方面可能相对较弱,但它仍然是一种非常强大和流行的Web开发框架,可以帮助开发人员快速构建稳定和可靠的Web应用程序。当然,在选择使用Django时,我们需要根据具体需求和项目特点来进行权衡和决策。 ### 回答3: Django是一个功能强大的Web开发框架,但它也存在一些相对较弱的方面。 1. 缺乏前端开发支持:Django主要关注于后端开发,对于前端开发支持较弱。虽然有一些内置的前端模板和表单功能,但在处理复杂的前端逻辑和用户体验方面,Django的支持相对较弱。在这种情况下,通常需要使用其他前端框架或工具来弥补这一不足,例如Vue.js或React等。 2. 数据库迁移复杂:Django的数据库迁移工具可以帮助我们管理数据库模式的变更,但在某些情况下,数据库迁移可能会变得复杂且困难。尤其是在项目规模较大、模型关系复杂的情况下,数据库迁移可能会遇到一些问题,例如数据冲突、迁移顺序等。因此,开发者需要特别关注和处理数据库迁移相关的问题。 3. 性能问题:尽管Django是一个成熟、稳定的框架,但在处理大规模高并发的情况下,性能可能会成为一个问题。Django的一些特性和设计选择可能导致性能较低,例如全局锁、ORM性能损耗等。为了提升性能,可能需要对代码进行优化,使用缓存策略,或者考虑使用其他性能更高的框架或库。 4. 学习曲线较陡峭:由于Django是一个功能强大的框架,学习Django可能需要一定的时间和精力。特别是对于新手来说,掌握Django的业务逻辑、开发模式和最佳实践可能会有一定的挑战。因此,初学者可能需要花更多的时间去理解和学习Django的相关概念和技术。 虽然Django在某些方面相对较弱,但它仍然是一个非常受欢迎和广泛应用的Web开发框架。通过深入了解Django的特性和注意相关的弱点,开发者可以更好地利用Django来构建高质量的Web应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值