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

如何运行Django(Django项目的命令)

时间:2023-03-09 13:33:23 网络应用技术

  首席执行官在本文中指出,将介绍Django如何运行并打开Django项目的命令的相关内容。我希望这对每个人都会有所帮助。让我们来看看。

  本文目录清单:

  1.如何使用FastCGI运行Django 2.我有一个Linux虚拟主机。我想运行Django网站。我该怎么办?3。如何在服务器上部署Django项目并使其在后台运行。4. Django新手教程6.创建一个新项目5. DJANGO源阅读(1)必须先安装项目生成和启动。

  这是Python处理fastcgi的库。

  FACTCGI使用C/S模型独立运行过程。当需要请求时,Web服务器(Apache,httpd,..)可以直接与FACTCGI进程进行通信。

  Web服务器可以通过两种方法连接到FastCGI服务器:

  1. UNIX域插座(或Win32的“命名管道”)

  2. TCP插座

  通常,TCP插座更简单,因为可以更好地配置权限问题。

  如何启动FACTCGI服务器:

  到项目目录,执行:

  https://www.shouxicto.com/article/manage.py runfcgi [options]

  如果您想提供帮助:

  https://www.shouxicto.com/article/manage.py runfcgi帮助

  在该选项中,您需要指定插座或主机和端口的组合。在这种情况下,当您启动Web服务器时,可以通过此信息连接到FACTCGI服务器。

  例子

  在TCP端口中运行线程服务器:

  https://www.shouxicto.com/article/manage.py runfcgi方法=螺纹house = 127.0.0.1端口= 3033

  在Unix域插座上运行预装服务器:

  https://www.shouxicto.com/article/manage.py runfcgi方法= prefork socket =/home/home/user/mysite.sock pidfile = django.pid

  不要充当背景过程(易于调试):

  https://www.shouxicto.com/article/manage.py runfcgi daemonize = false socket =/tmp/mysite.sock

  如何在后台停止FastCGI流程:

  1.如果指定了pidfile属性,则可以是这样的:

  杀死“猫$ pidfile”

  其中,$ pidfile是您指定的pidfile选项。

  要重新启动UNIX上的背景FACKCGI进程,可以执行以下Shell脚本:

  #!/bin/bash

  #替换三个设置。

  projdir =“/home/user/myproject”

  pidfile =“ $ projdir/mysite.pid”

  插座=“ $ projdir/mysite.sock”

  CD $ Projdir

  如果[-f $ pidfile];然后

  杀死'cat -$ pidfile`

  RM -F- $ PIDFILE

  fi

  exec/usr/bin/env-

  pythonpath =“ https://www.shouxicto.com/python:”:

  https://www.shouxicto.com/article/manage.py runfcgi socket = $ socket pidfile = $ pidfile

  Apache设置:

  1.需要安装mod_fastcgi

  2.编辑httpd.conf:

  (1)使用fastcgiexternalver指向fastcgi服务器的位置

  您可以使用套接字或主机+端口指定它:example:

  #通过插座 /命名管连接到FastCGI。

  fastcgiexternalserver/home/user/public_html/mysite.fcgi-socket/home/user/user/mysite.sock

  #通过TCP主机/端口连接到FastCGI。

  fastcgiexternalver/home/user/public_html/mysite.fcgi -host 127.0.0.1:3033

  不管上述情况如何,/home/user/public_html/mysite.fcgi不需要存在。

  (2)使用mod_rewrite分配需要处理为fastcgi的URL。

  例子:

  VirtualHost 12.34.56.78

  Servername emample.com

  document root/home/user/public_html

  Alias/Media/Home/user/python/django/contry/admin/Media

  重新启动

  重写 ^ /( media.*)$ /$ 1 [QSA,L]

  重新WriteCond%{request_filename}!-F

  重写 ^/(。*)$/Mysite.fcgi/ $ 1 [QSA,L]

  /VirtualHost

  此处指示的重写是上面的FastCgiextrnalserver中的一个。

  上面的配置不会在 /媒体 / /媒体的开头,或者对非存在文件的请求转移到fastcgi。

  LightTPD配置

  LightTPD自然支持FastCGI。

  首先,请确认您的mod_fastcgi在模块列表中,以及在mod_ewrite和mod_access之后,在mod_accesslog之前。

  要服务管理媒体,也许您仍然需要mod_alias。

  将以下段落添加到LightTPD的配置文件:

  server.document-root =“/home/user/user/public_html”

  fastcgi.server =(

  “/mysite.fcgi” =(

  “ main” =(

  #将主机 /端口代替套接字用于TCP FastCGI

  #“主机” =“ 127.0.0.1”,

  #“端口” = 3033,

  “插座” =“ /home/user/mysite.sock”,

  “ check-local” =“ disable”,

  治愈

  ),,

  治愈

  alias.url =(

  “/媒体/” =“/home/user/django/contry/admin/media/”,

  治愈

  url.rewrite-one =(

  “^(/媒体。*)$” =“ $ 1”,

  “^/favicon.ico $” =“ /media/favicon.ico”,

  “^(/.*)$” =“ /mysite.fcgi1”

  治愈

  您还可以在一台LightTP服务器上运行多个Django。只要您为每个应用程序指定一个独立的FastCGI主机,就需要指定独立的FastCGI主机。

  如何在共享网络托管上运行Django / apache:

  编辑.htaccess:

  Addhandler fastcgi-script .fcgi

  重新启动

  重新WriteCond%{request_filename}!-F

  重写 ^(。*)$ mysite.fcgi/$ 1 [QSA,l]

  编写另一个可执行脚本mysite.fcgi:

  #!/usr/bin/python

  导入系统,操作系统

  #添加自定义Python路径。

  sys.path.insrt(0,“/home/user/python”))

  #切换到项目目录。(选修的。)

  #os.chdir(“/home/home/user/myproject”)

  #设置django_settings_module环境变量。

  OS.Environ

  来自django.core.servers.fastcgi import runfastcgi

  runfastcgi(方法=“螺纹”,daemonize =“ false”)

  更新代码后,您可以通过重新上传mysite.fcgi文件来指示Apache重新启动Django程序。

  如果有外壳权限,您可以直接使用touch命令更改时间戳:

  触摸mysite.fcgi

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

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

  2然后运行python manage.py runserver

  你可以跑

  几天前,老师要求我将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。

  感觉到它将被没有卡片的群众击败,所以让我们开始。

  打开CMD黑色窗口,我们进入

  workon django_env

  让我们看一下如何在黑色窗口中的每个URL之间穿梭。您首先查看您现在的位置。一般来说,新开放的CMD在

  c:/user/your_name

  在这个位置,我们首先转到D驱动器,根目录是从C到D,我们只需要输入

  D:

  您可以到达D驱动器。如果您的django_env被激活,他将自动跳到

  d:/py_env/django_env

  当然,在此目录中,我们可以在这里构建该项目,但是我们也可以在其他地方构建它。请输入(请注意,CD和两个点之间有一个空间)

  CD ..

  CD意味着要去。两个小点是指父亲,这意味着当前目录的父亲目录。

  所以我们来了

  d:/py_env

  在目录中,再次输入

  CD ..

  所以我们到达

  d://

  这是D驱动器的根目录的重新输入CD。不再效果。如果您逐步遵循我的教程,那么您已经在此根目录上构建了一个名为Django_project的空文件夹。如果您还没有建造,请输入

  mkdir django_project

  创建此文件夹。当然,您还可以在图形接口中打开我的计算机,然后正确地单击新文件夹以达到位置。为了强制网格并更熟悉CMD窗口,我建议您仍然使用命令行。

  我们的CMD路径(准确是工作路径)现在在D驱动器的根目录上

  所以,请输入

  CD django_project

  指示转到django_project。当然,目前您必须确定Django_project是D驱动器根目录下的子目录。

  如果我们还在

  D:py_env/django_env

  然后输入

  CD django_project无效。您必须刚刚逐步到达D驱动器,然后输入django_project.or,您可以直接输入绝对路径

  CD d:/django_project

  使用上述命令,只要您在D驱动器上,无论您是哪个目录,都可以一步就位。

  当我们到达现场时,我们将很快建立我们的项目。

  激动人心的时刻在这里,请输入CMD

  django-admin startproject mysite

  目前,我们创建了一个项目,该项目的名称是MySite等,等等。要说良好的云磁盘不是Mao的MyCloud吗?有必要提及Django的微妙之处。一个新项目等同于计算机上的一块土地(d:/django_project/mysite目录是我们网络服务的站点),Andi尚未开始展览馆。您为什么要直接建造一个新的展览馆而不是土地,因为当我们循环时,我们可以在地面上建立许多展览馆。在Django,云磁盘不足以调用一个。该项目只能称为应用程序(一个展览馆)。只有将许多展览馆放在一起,才可以称为该项目,即一个项目可以包含许多应用程序(应用程序)。对于extplecloud磁盘服务,我们还可以提供个人博客服务。我们还可以为植物开设论坛。无论如何,将来要提供家庭水桶服务。因此,云磁盘只能被视为一个应用程序。当然,目前我们只在地面上建立一个展览馆。

  或在CMD黑色窗口中,请输入

  dir

  使用此指令在当前目录中列出子目录和存储文件,

  我们可以看到,生成一个称为MySite的子目录。实际上,山地上有两个目录,一个目录是一个点,这意味着您,即django_project本身,另一个目录是两个点,表明父亲,这意味着父亲。root目录。因此,我们看到的是Django_project目录的三代人。

  这基本上是均匀的,作为图形界面。下图的左上角的位置代表父目录。至于目录本身,无需故意表达它。

  您使用鼠标单击文件夹,实际上,内部系统是为您运行

  CD您单击了文件夹

  如果您点击返回,请帮助您运行

  CD ..

  回到主题,我们看到了一个MySite子目录,所以进去看看,请输入

  CD Mysite

  然后输入

  dir

  检查情况

  我发现还有另一个Mysite目录,Pit父亲,俄罗斯的孩子是!这是!

  在这一点上,我知道Django是外国人的工具。sub -directory称为与父目录相同的名称(无论如何,第一个级别目录的名称是mysite ii.once,我们不能随便更改它。将来,我们将内部称为“ mysite”。mysite,外部的外部称为区别)。细看。旁边还有一个管理。

  其中有4个PY文件。我看到了,其中之一是URLS.PY,URL的重要性,您需要专门管理文件。如果您对文章的读物有认真的阅读,则在urls.py中,settings.py也很重要。它用于管理MySite项目。因此,我认为最后一个mysite文件夹应该称为mysite_manage,因为它的内部是什么,就像在管理中一样。

  为了使每个人都知道对项目结构有更清晰的了解,我在Django的官方网站上找到了图片

  老实说,直到到目前为止,我都不欣赏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已完成此操作,并将服务器传递到应用程序入口的请求中,并且可以通过中间件与该路由分配。

  结论:以上是首席CTO注释向您提出的Django命令的所有内容,如何运行和打开Django项目。我希望这对每个人都会有所帮助。如果您仍然想进一步了解此信息,请记住在此网站上收集并关注此网站。