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

如何部署Django代码

时间:2023-03-07 20:51:33 网络应用技术

  指南:本文的首席执行官注释将介绍有关如何部署Django守则的相关内容。我希望这对每个人都会有所帮助。让我们来看看。

  本文目录清单:

  1.如何使用Pycharm与Python的Django框架合作2.

  安装Python 2.7,Pycharm,PIP(Python软件包管理工具),Django(pip install django)

  部署

  Pycharm新Django项目

  完成后,目录如下:

  在sub -directory mydjangoproject下,该项目的全局配置为setttings.py,urls.py和wsgi.py.其中,setttings.py包括系统数据库配置,应用程序配置和其他配置,以及urls.py是

  指示Web工程URL映射的配置。

  子目录学生是在项目下创建的一个应用程序,包括models.py,tests.py,views.py和其他文件

  模板目录是模板文件的目录

  Manage.py是Django提供的管理工具。

  启动

  创建完成后,可以正常启动。单击运行按钮以开始时机错误:

  Trackback(最近的最新电话):

  文件“ d:/workspace/mydjangoproject/manage.py”,第10行,在模块中

  execute_from_command_line(sys.argv)

  文件“ d:python27libsite-packagesdjangocooranagements__init__。py”,第338行,在execute_from_commman_line中

  utility.execute()

  文件“ d:python27libsite-packagesdjangocoranagements __init __. py”,第312行,在执行中

  django.setup()

  文件“ d:python27libsite-packagesdjango__init __. py”,第18行,在设置中

  apps.populate(settings.installed_apps)

  文件“ d:python27libsite-packagesdjangoapps egistry.py”,第89行,人口

  “重复:%s”%app_config.label)

  django.core.exceptions.improperlyconfigured:应用程序标签不是唯一的,重复:admin

  它应该是配置冲突,打开settings.py文件,并发现重复管理员配置

  instasted_apps =((

  'django.contrib.admin',

  'django.contrib.auth',

  'django.contrib.contenttypes',

  'django.contrib.sessions',

  'django.contrib.messages',

  'django.contrib.staticfiles',

  'django.contrib.admin',

  '学生',

  治愈

  评论丢失后(为什么有这个问题,估计它是一个错误),重新启动,确定

  Web项目添加页面

  目前,我们尚未编写一行代码,并且程序正在运行!添加一个Hello World页面。

  打开学生/views.py文件,输入以下内容

  def sayhello(请求):

  S ='Hello World!'

  current_time = dateTime.dateTime.now()

  html ='htmlhead/headbody1%s/h1p%s/p/p/p/html'%(s,current_time)

  返回httpresponse(HTML)

  打开url.py文件,您需要配置URL映射:

  url(r'^student/',sayhello)

  当用户输入http:// **/站立时,调用了Sayhello方法。此方法通过httpresponse()返回页面内容作为响应。

  重新启动服务,访问

  在views.py页面上,该页面所需的元素需要调用httpresponse()类作为对浏览器的响应。相对较大。如果我们需要显示一些动态数据并且页面基本不更改,该怎么办?

  例如,当用户面试时,我们想动态显示一些学生的数据。您可以做到这一点:

  首先,在模板目录中,创建一个新的sut剂节.html文件。该文件用作模板。内容如下:

  呢Doctype HTML

  html

  头

  标题/标题

  /头

  身体

  Ul

  {学生中的学生%}

  李

  id:{student.id}},名称:{{student.name}},年龄:{{student.age}}

  /li

  {%endfor%}

  /ul

  /身体

  /html

  修改views.py文件,添加方法showstuders()

  Def ShowStudents(请求):

  list = [{id:1,'name':'jack'},{id:2,'name':'rose'}]

  返回render_to_response('Student.html',{'sustemans':list})

  该方法将列表用作动态数据,并将其绑定在render_to_response方法上与模板页面sutper.html。

  添加URL映射,URL(R'^ShowStudents/$',ShowStudents)

  修改设置.py模板配置:'dirs':[base_dir+r'emplates'],

  重新启动服务,访问,出现:

  在这一点上,我们通常可以将一些“动态”数据绑定到模板。但是如何访问数据库?

  从数据库中获取所需的数据,在页面上显示它?

  首先,您需要安装数据库驱动程序,即mysql_python,

  然后配置数据库连接:

  数据库= {

  '默认': {

  '引擎':'django.db.backends.mysql',

  “名字”:“学生”,

  “用户”:“根”,

  '密码':'1234',

  “主机”:'127.0.0.1',

  '端口':'3306',

  #'name':os.path.join(base_dir,'db.sqlite3'),

  }

  }

  配置完成后,您需要检测数据库配置是否正确。使用Manage.py Shell命令输入Shell Interactive接口:

  进入:

  来自django.db导入连接

  光标= Connection.Cursor()

  如果您不报告错误,则配置是正确的。

  创建一个模型,打开Models.py,然后定义模型如下:

  班级学生(型号。模型)

  id = models.bigintegerfield

  name = models.charfield(max_length = 20,默认值='a')

  然后致电manage.py syncdb

  在正常情况下,完成此步骤后,模型将与数据库一致。但是,在测试中,在成功执行命令后,发现未建立数据库。

  对于这种情况,请执行以下操作是正常的:

  (1)评论型号。文件代码,执行管理。

  [并管理。

  (2)打开注释并执行[manage.py makemurations Student and] manage.py迁移命令

  通过以上两个步骤,可以正常操作

  如何添加views.py:showrealstudents

  DEF SHOWREALSTUDENTS(请求):

  list = student.objects.all()

  返回render_to_response('Student.html',{'sustemans':list})

  urls.py添加映射URL(r'^showrealstudents/$',showrealstudents)

  重新启动服务并打开连接:

  页面输出是正常的。

  此时,使用Django可以正常操作数据库,自定义模板并在页面上显示数据。

  服务器

  由于Django配备了轻型服务器,因此默认使用服务器,但在实际生产中不允许这样做。在生产环境中,Apache HTTPD服务器与MOD_WSGI.SO相结合,作为后端服务器。

  以下部署环境是:Python2.7.6

  1.安装HTTPD-2.2.25-WIN32-X86-NO_SSL.MSI

  2.将下载的mod_wsgi.so放置在D:Program filesapache软件Foundationapache2.2Modules模块。

  3.在新建的Web项目中

  内容如下(需要修改相应的目录):

  导入操作系统

  导入系统

  djangopath =“ d:/python27/lib/site-ackages/django/bin”

  如果djangopath不在sys.path中:

  sys.path.append(djangopath)

  ProjectPath ='d:/workspace/mydjangoproject'

  如果项目路径不在sys.path中:

  sys.path.append(Project Path)

  apppath ='d:/workspace/mydjangoproject/mydjangoproject'

  如果AppPath不在sys.path中:

  sys.path.append(apppath)

  os.environ ['django_settings_module'] ='mydjangoproject.settings''

  来自django.core.wsgi import_wsgi_application

  应用程序= get_wsgi_application()

  4.修改httpd.conf,添加如下:

  loadModule wsgi_module模块/mod_wsgi.so

  wsgiscriptalias/“ d:/workspace/mydjangoproject/django.wsgi”

  目录“ d:/workspace/mydjangoproject/“”

  选项跟随Symlinks

  Allowoverride无

  命令拒绝,允许

  从所有人那里允许

  /目录

  好的,重新启动服务器,页面是正常的。

  在部署过程中,遇到一个例外,如下:

  在应用程序注册表准备之前,在应用程序注册表之前初始化翻译插管

  原因是django.wsgi从旧写作开始,可以写入新版本。

  先决条件

  1.为Python应用程序安装Virtualenv和Virtualenv包装器,目的是为Python项目创建一个独立的环境。

  ●安装PIP

  sudo apt-get安装python pip

  ●安装Virtualenv

  sudo pip安装virtualenv

  ●创建一个目录以存储您的Virtualenv

  mkdir?/.virtualenvs

  ●安装VirtualenWrapper

  sudo pip安装virtualenvwrapper

  ●将workon_home设置为您的Virtualenv目录

  export workon_home =?/.virtualenvs

  ●将workon_home设置为您的Virtualenv目录

  export workon_home =?/.virtualenvs

  ●添加virtualenvwrapper.sh到.bashrc

  将此行添加到?/.bashrc的末尾,以加载virtualenvwrapper命令./usr/local/bin/bin/virtualenvwrapper.sh

  退出,然后打开外壳,或使用.bashrc或source?/.bashrc命令重新加载.bashrc,然后一切准备就绪。

  2.安装git。

  apt-get安装git

  3.将NGINX作为Web服务器安装,以便您以后运行应用程序。

  sudo apt-get安装nginx

  启动您的第一个Linux实例

  接下来,我将介绍使用阿里巴巴云管理控制台运行ECS实例的相关步骤。

  1.登录到您的帐户,然后导航到“产品和服务”部分下的“云服务器”。单击侧baroon菜单的概述。这显示了在操作中的实例列表。单击“购买实例”来自任何区域的示例,或继续在下一步中创建一个新示例。

  2.单击“侧边栏”菜单中的实例。选择示例列表中所需的区域,然后单击“上限”中的创建实例。

  3.系统将使您重组为“产品购买”控制台。在这里,您需要选择首选的资源软件包,为ECS实例和数据传输提供特殊定价的主要资源包,或者提供两个高端购买资源包,并带有两个定价模型,您可以根据自己的需求选择订阅(每月或年度)- 年)或付款。在这种情况下,我们选择“按数量付款”。

  4.在此窗口中,在此窗口中选择ECS实例的数据中心区域和可用性区域。如果选择该区域,但是未选择可用区域,则系统将随机将实例放置在任何区域中。

  5.现在您需要选择要创建的实例类型。根据您自己的需求,从“生成”选项卡中选择表单类型类型。生成类型代表基于配置使用的计算能力和使用的计算。

  6.接下来,选择网络类型以启动您的ECS实例。您可以根据自己的需要选择经典网络或专有网络。在经典网络中,阿里巴巴云以分布式方式分配IP地址。它适合用户谁需要简单,快速地使用EC。专有网络更像是一个逻辑隔离的专用网络,它支持专用连接。它适合熟悉网络管理的用户。选择适当的网络类型后,选择在线计费类型:数据传输或固定带宽。在这两种情况下,您需要设置一个网络频段范围峰值(最大数据传输速率)。

  7.现在您需要选择操作系统。每个选项下提供了不同操作系统版本的列表。选择Ubuntu。

  8.根据您自己的需求,从drop -down菜单中选择系统磁盘类型。您还可以通过单击“添加磁盘”将更多磁盘添加到此列表中。

  9.在“安全设置”部分中,您可以创建一个密码以提高安全性,或在此阶段跳过此步骤,并在后来从管理控制台执行此操作。

  10.在“采购计划”部分中,输入您的实例名称并设置要启动的实例数。

  11.在“概述”部分中查看配置详细信息和总价格,然后单击立即购买。

  12.单击以打开确认业务订单并开始实例。

  13.启动实例后,您可以在“控制台实例”选项卡中查看实例。

  安装和部署Django应用程序

  您已经使用了阿里巴巴云管理控制台来创建和启动ECS实例,并让我们了解如何安装和部署Django应用程序。

  1.使用SSH命令登录到您的服务器

  2.输入密码

  3.通过创建一个新的Virtualenv来部署Django应用程序来设置环境:

  mkvirtualenv djangoapp

  要退出新的Virtualenv,请使用停用。

  您可以使用workon。在环境之间进行切换。加载或在virtualenv之间切换,使用workon命令:workon djangoapp

  4.在您当前的环境中安装Django

  PIP安装Django

  5.使用django-admin命令创建示例项目,然后将目录更改为项目文件夹。

  django-admin startproject todoapp

  CD TodoApp/

  6.迁移或指导您的数据库。

  python manage.py迁移

  7.创建超级用户以访问管理面板。

  python manage.py createSuperuse

  8.设置用户后,通过运行由manage.py操作的RunServer命令来测试您的应用程序

  python manage.py runserver 0.0.0.0:8000

  您将看到以下在端口8000上运行的内容

  转到 /管理员,这是您的管理面板,您可以在此处管理应用程序。

  现在,使用NGINX将应用程序放置在Web服务器后面。

  9.创建一个数据库体系结构以打开Python环境。

  ●将目录更改为Django Project目录

  ●运行以下命令

  python manage.py迁移

  10.收集所有静态文件(CSS,JS等)

  ●运行以下命令以在任何特定位置收集所有静态文件

  python manage.py collectstatic -noinput

  ●开发人员负责将static_url路径设置为收集所有静态文件的位置。

  ●这些变量在项目目录中的设置中定义。

  1. static_url

  2. staticfiles_dirs

  3. static_root

  11.使用UWSGI服务器安装UWSGI库并启动服务器。

  PIP安装UWSGI

  ●创建ini file vim uwsgi.ini,部署到部署Django应用程序

  ●将其保存到应用程序目录上的uwsgi.ini。有关如何编写INI文件的更多了解,请参阅Python/wsgi应用程序以快速启动。运用此命令来启动您的应用程序。

  uwsgi uwsgi.ini(您的INI文件)

  12.更改应用程序的NGINX配置文件。

  /UWSGI.SOCK;}}

  13.重新启动nginx,然后您的应用程序将在端口80上启动和运行。

  这是UNIX的安装方法。在Windows下,您必须首先解压缩下载的文件,使用命令提示

  然后打开python,

  导入django

  django.version

  如果您可以看到版本编号,则安装成功

  我的是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所示

  结论:以上是首席CTO介绍的有关如何部署Django代码的所有内容的所有内容。我希望这对每个人都会有所帮助。如果您仍然想了解有关此信息的更多信息,请记住收集并关注此网站。