当前位置: 首页 > 网络应用技术

如何运行Django项目(2023年的最新答案)

时间:2023-03-08 22:02:56 网络应用技术

  简介:许多朋友问如何运行Django项目。首席执行官在本文中注明将为您提供详细的答案,以供所有人参考。我希望这对每个人都会有所帮助!让我们一起看看!

  只要您使用Django的ORM创建模型对象,如果未在数据中创建相应的表,则将在数据库中生成相应的表。

  老实说,直到到目前为止,我都不欣赏django。这不是我的认知中的微妙设计。这只是功能所积累的“成熟解决方案”。但是,一切的兴起都是时代的选择。您不喜欢它,但需要它。希望有一天,Python可以拥有越来越丰富的成熟解决方案,并且不再因性能和维护而受到批评。(Fit End)

  将其本质带到滴度上,Django的优势很方便。我们的源代码阅读的目的是探索其便利性的本质。阅读源代码的计划对每个地方都不好,而是解释功能的功能。

  django-admin startproject helloworld可以生成django项目。命令行是EXE格式。

  manage.py将参数交给了命令行。

  execute_from_command_line()通过命令行参数创建管理类。然后运行他的execute()。

  如果设置了重新加载,请在启动之前检查_errors。

  check_errs()是一个关闭,因此在上一篇文章的末尾是(django.setup)()。

  查看最后一个句子设置.installed_apps.grab从设置

  请注意,此设置不是我们项目中的设置。

  这是设置类的懒负载包装包装,直到__getAttr __。然后从设置类的实例中获取值,然后说将其分配给您自己的__ -dict__(我会直接找到它下次我自己,因为__getAttr __优先级)

  为了促进调试,我们直接编写一个run.py。

  在项目下创建一个run.py,以模拟运行服务器命令

  调试抓取设置_MODULE

  回到setup()中的最后一句话

  开始观看apps.populate()

  首先查看本段

  这些应用最终被封装在appconfig中。

  随后,调用了每个AppConfig的import_models()和ready()方法。

  应用程序的加载部分通常是这样的

  为了促进调试,我们重写了最后一句话

  RES的类型是命令django.contrib.staticfiles.management.commands.runserver.com和object at 0x00000101ED5163A0

  重点是第二个句子,让我们跳到run_from_argv()方法,这是几个处理参数。

  用Pycharm指向手柄将进入基类,该基类无法获得正确的方向。实际上,子类已重写此方法。

  这里有两种情况。如果加载重新加载,它将直接执行inner_run(),并且项目首先从其他逻辑开始。

  当Django项目启动时,它实际上将启动两次。如果我们在项目入口(manage.py)中设置一个贴心,您会发现它将打印两次。

  在第一个启动开始时,django_autoreload_env却没有,无法输入启动逻辑。将输入crandt_with_reloader()。

  在这里,您将将django_autoreload_env放置为true,然后重新启动。

  第二次,您可以输入启动逻辑。

  在此创建一个Django主线程以传递innit_run()。

  随后,此线程创建了一个旋转式,通过reloader.run(django_main_thread)询问监护过程。

  让我们看一下django innion_run()的主线程。

  当我们看到WSGI时,Django的启动逻辑已经结束。下一个作业已移交给WSGI服务器

  这相当于我们之前在Fastapi中所说的话,然后将Fastapi的应用程序交给ASGI服务器(ASGI也是Django提出的,这两个基本上是同源的)

  那么WSGI来自哪里?让我们回头回去

  此设置是一个对象,它已从以前的操作中从settings.py配置文件中获取了自己的属性。因此,我们只需要转到settings.py配置文件即可找到。

  让我们找到此get_wsgi_application()。

  它将再次调用setup(),返回WSGIHANDLER类的实例很重要。

  这是WSGIAPP本身。

  load_middleware()是WSGIAPP构建中间件堆栈的唯一方法。

  如果您之前阅读了FastAPI源代码,则应该对中间件堆栈不陌生。

  应用程序入口→中间件堆栈→路由→路由节点→端点

  因此,WSGIAPP已完成此操作,并将服务器传递到应用程序入口的请求中,并且可以通过中间件与该路由分配。

  Python的虚拟环境VENV不需要复制过去。这是属于您自己的环境设置。路径或其他配置可能有所不同。

  如果将代码复制到其他计算机,则需要在另一台计算机上重新连接Python环境。

  我通常在编写项目时使用的依赖库,例如Django,Pillow,Django-Ckeditor等。在其他计算机或部署时被移植,您可以基于contents.txt文件内容安装依赖项。

  移植到其他计算机或部署服务器时,请重新创建VENV,然后在此环境中执行PIP安装-R repillents.txt

  希望这有所帮助。如果有任何疑问,您可以回答这个问题。谢谢

  我是Linux主持人,我在本地运行Django

  1在终端输入Django项目的文件夹是Manage.py的目录

  2然后运行python manage.py runserver

  你可以跑

  我的是Centos系统

  我们通过Tencent的控制台的登录按钮输入远程登录接口,如图1所示,如图1所示。图2是登录后的密码输入窗口,图2是密码输入窗口

  输入登录接口后,它将在图3中。我们输入LS并发现没有文件。输入PIP列表将提示未安装PIP。进入Python时

  1.首先,我们必须安装PIP并根据自己的系统进行选择

  CentOS系统:Sudo Yum安装Python Python Pip

  Ubuntu系统:sudo apt-get安装python python pip

  安装后,PIP列表,查看可用的Python安装软件包

  2.安装Django

  我安装的Django版本是1.9.8。根据我自己的情况,随后的版本编号已更改

  sudo pip安装django == 1.9.8

  图4中可能存在此类问题,因为我们的PIP版本太低,请根据提示直接升级PIP

  更新PIP后,安装可能如图5所示。我们不会将空气添加到==中,因为添加空间会导致无法识别Django的版本。

  安装后,您将找到找不到Django的地方。实际上

  /USR/lib/python2.7/site-packages/

  我们想执行命令以在Django的bin目录中创建Django,如图6所示

  /USR/lib/python2.7/site-packages/django/bin

  输入此目录,运行django-admin.py startproject firstProject创建一个firstProject项目。第一个项目将在此目录中创建,输入项目,运行Python Manage.py Runserver.py Runserver.py Runserver.py

  问题到了。运行后,不要单击。这不能输入。我们应该通过Tencent Cloud的公共网络IP访问网站,但是有些学生发现不可能通过公共网络的IP访问我们的网站。因为他的腾讯云没有打开相应的端口,因此无法访问他安全组选项中的开放端口,如图7所示

  输入安全组,建立我们的开放端口,然后我打开端口80。如图8所示

  开放端口后,我们重新python manage.py runserver 0.0.0.0:80,如图9所示

  通过公共网络IP,您可以直接访问我们的网站。如图10所示

  几天前,老师要求我将Django Project(爬行动物网页)放在校园的内网上,但我想先用自己的服务器尝试一下。我刚刚在数字海洋上购买了一台服务器以运行SS脚本。通常,服务器始终没有用,因此请进行测试。

  第一步并没有太多胡说八道,将Django文件通过WINSCP软件传递给服务器。

  在服务器中安装Django所需的环境和我需要的第三方库。

  完成上述步骤完成后,有必要执行一个步骤操作,这是我体验的一个坑。在Django文件目录中打开settings.py,然后将允许的_hosts = []更改为werse_hosts = [**“*”]。

  打开“ anage.py位于服务器中”的目录,然后输入命令:

  python3 manage.py runserver 0.0.0.0:8000

  然后按Enter并输入浏览器:服务器IP地址:8000,伟大的成就!

  注意力:

  1. Python3不是特定的,它是根据您的Django项目所需的环境指定的。

  2. 8000是可以修改的端口号。

  如果您希望Django项目在关闭终端后运行和运行,则需要运行以下命令,NOHUP命令,命令casted Python3 Manage.py Runserver 0.0.0.0.0.0:8000。

  结论:以上是Django项目如何由您为您移植的Django项目的相关内容。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?