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

什么是Django自己的服务器(Django的服务器部署了什么)

时间:2023-03-05 19:55:50 网络应用技术

  简介:今天,首席CTO笔记将与您分享服务器随附的Django。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!

  Django为我们提供了许多开发说明,并且大多数乏味的操作由Django集成在简单的命令行提示符中。现在打开命令提示

  键入django-admin.py startproject之后

  新闻命令,致电Django的控制台命令创建一个名为News的新项目,同时,Django还在新的新闻文件夹下生成以下四个不同的文本,以生成不同劳动分区的不同文本。

  。

  1. __init__.py

  文件__init__.py可以向Python编译器指示当前文件夹的内容是Python Project模块。

  2. Manage.py

  Manage.py是一个Python脚本文件,与Django的命令行工具Django-Admin.py匹配以管理已建立的项目。

  3.settings.py

  这是Django项目的配置文件。与项目相关的工程模块和数据库的全局配置信息设置为settings.py。

  4.urls.py

  文件URLS.PY负责配置URL地址映射并管理URL的地址格式。

  建立新项目时,如果您迫不及待地想知道新项目的外观,Django准备了一个轻巧的Web服务器,供您在开发过程中的任何时间进行测试和使用。

  开发人员只需要在命令提示符下输入项目目录,然后键入命令manage.py

  RunServer可以启动Web服务器以测试新建立的项目。如果没有错误启动,您可以看到以下提示消息:逗弄开发

  服务器在位置运行

  这意味着当前的项目已经可以通过该计算机的8000端口访问。

  原因如下:

  1.报告代码中的中文注释问题的错误

  中文注释被添加到Django Project的.py文件文件中,该文件通常报告错误并且无法运行。-* - 编码:UTF-8 - * - * -

  2.在操作过程中中文乱码的错误

  (1)首先确保连接数据库的基本设置为UTF-8。

  (2)然后确认Django项目中的网页标题设置为UTF-8,并设置为代码的代码头:meta charset =“ utf-8”。

  (3)最后,由于我们没有指示Django项目中的编码方法,因此仍然报告了错误,因此根据默认设置而不是普通的UTF-8设置该方法。

  (4)因此,该项目需要在执行编码操作的位置,或直接添加在设置中。

  3.该项目在Debian系统中配置。

  (1)在终端中的操作和安装

  (2)重新选择字符编码

  (3)。选择所有ZH_的字符编码,可以确认下一步,然后选择中文UTF-8。

  (4)在.debian中?/.bashrc的底部添加了导出lc_all = zh_cn.utf-8或直接运行导出。UTF-8。

  (5)。最后,重新启动重新启动服务器,检查系统编码,UTF-8中文生效,Locale命令可以直接查看系统编码设置,然后运行Django项目上传中文名称文件。

  安装软件

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

  部署

  Pycharm新Django项目

  完成后,目录如下:

  sub -directory medjangoproject指示该项目的全局配置,即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从旧写作开始,可以写入新版本。

  django-redis中文文档

  Andrey Antukh,niwi@niwi.be 4.7.0

  翻译:Rapospectre

  1介绍

  Django-Redis是基于BSD许可证的。这是一个功能齐全的组件,使Django能够支持REDIS缓存/会话。

  1.1为什么要使用django-redis?

  因为:

  不断更新

  局部redis-py URL符号连接字符串

  可扩展的客户

  可伸缩性解析器

  可扩展的序列化器

  默认客户所有者/支持

  完美测试

  它在某些项目的生产环境中被用作缓存和会话

  不支持超时设置

  对本地的支持进入REDIS客户端/连接池支持

  高配置(例如模拟缓存的异常行为)

  默认支持UNIX插座

  支持Python 2.7、3.4、3.5和3.6

  1.2可用的django-redis版本

  稳定版本:4.7.0

  稳定版本:3.8.4

  1.3我应该使用哪个版本

  版本编号就像3.6、3.7 ...主要的分销版本将包含与落后性不兼容的内容。升级之前,请阅读升级日志。

  版本号就像3.7.0、3.7.1 ...以及其他小更新或错误修复。通常,它将仅包括错误修复。没有功能更新。

  1.4依赖性

  1.4.1 Django版本支持

  django-redis 3.8.x支持Django 1.4、1.5、1.6、1.7(也许会有1.8)

  django-redis 4.4.x支持Django 1.6、1.7、1.8、1.9和1.10

  1.4.2 REDIS服务器支持

  django-redis 3.x.y支持redis服务器2.6.x或更高

  django-redis 4.x.y支持redis服务器2.8

  结论:以上是首席CTO注释为每个人编译的Django自我培养服务器的所有内容。感谢您花时间阅读此网站。我希望这对您有帮助。有关与Django自己的服务器相关的内容的更多信息。不要忘记在此站点上找到它。