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

如何将Django添加到Python(Django条目教程)

时间:2023-03-05 22:05:58 网络应用技术

  简介:今天,首席CTO Note将与您分享如何将Django添加到Python。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!

  操作环境

  Windows 7(64 -bit) + Python 2.7 + Django 1.7.1

  1.安装Django框架

  当然,您必须首先有Python环境,您不会说很多关于学习Python的朋友~~

  我使用SetUptools工具安装。SetUptools是一种常用的安装工具,用于在Python中安装第三方模块

  1.1安装setuptools工具(如果可以安装,可以直接跳过)

  从此地址下载ez_setup.py:

  (在页面底部)

  我下载了setuptools-7.0.zip,解压缩,将解压缩的setuptoop-7.0文件放在目录中。我认为它放在C:Workspace目录中。

  打开命令行CMD,切换到C:WorkspaceSetuptools-7.0在CMD中,即SetUptools-7.0安装目录

  运行命令:

  python ez_setup.py

  此命令将安装SetUptools工具,并在安装后在Python安装目录中打开脚本目录(Mine是C:Python27Scripts)。

  请注意,将脚本目录添加到Python安装目录(mine是C:Python27Scripts)中的环境变量路径,否则以下easy_install命令将报告错误。

  1.2安装Django框架

  输入CMD:

  easy_install django

  可能会提示某些安装过程缺少VC ++软件包。根据及时网站(我忘记?)下载该软件包,我下载了vcforpython27.msi。安装VC ++后

  这样,Django是自动安装的,难道不方便吗?哈哈

  2.创建Django项目。在这里,假设它是在C:WorksPacedJangotest中创建的(与Java有所不同,Java可以直接创建项目。Python希望先创建一个项目,然后在项目中创建应用程序)

  输入C:WorkspacedJangotest目录,输入:

  django-admin startproject mytodo #many是python django-admin.py startproject mytodo。

  我创建了mytodo项目

  3.启动调试服务器

  输入C:WorksPacedJangotestDjangotestMyTodo目录:

  CD mytodo

  然后输入:

  python manage.py runserver

  在浏览器中输入以查看是否可以访问页面

  4.创建一个应用程序

  输入命令:python manage.py startapp todo

  就在mytodo项目下,一个应用程序,即

  编辑mytodo/settings.py文件,添加条目todo

  instasted_apps =((

  'django.contrib.auth',

  'django.contrib.contenttypes',

  'django.contrib.sessions',

  'django.contrib.sites',

  '去做',

  治愈

  也就是说,最后一行todo(某些版本是项目名称+应用程序名称,即mytodo.todo)

  再次输入:python manage.py runserver查看您的应用程序是否配置,在写作时养成一个良好的习惯,哈哈?

  5.配置数据库

  Django的默认值是将SQLite数据库用作背景数据库。它仍然打开mytodo/settings.py。您可以看到以下段落:

  数据库= {

  '默认': {

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

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

  }

  }

  这是Django项目的数据库配置。默认值是使用sqlite。我们使用默认配置来安装SQLITE数据库,而无需修改配置文件

  当您听到数据库时,每个人都必须感到如此复杂。实际上,在Python中安装一个三向模块,数据库非常简单,可以完成命令~~

  输入命令:

  easy_install pysqlite

  这样,安装了SQLITE数据库

  安装数据库后,我们还对其进行测试并输入命令:

  python manage.py syncdb

  成功提示成功安装它。打开mytodo目录,查看其中是否有db.sqlite3文件。这是上面配置的数据库文件

  小路:

  你好世界/

  

  -----------------视频

  -----------------设置

  ------------------------------------------

  ------------------模板/

  ------------------------------------------------------------ html

  

  -------------------------------------------------------------------------------------

  

  ------------------------------- JS/

  ----------------------------------------------------------

  方法:

  1. settings.py在底部static_url

  static_root = os.path.join(os.path.dirname(__file __),'static'))))

  staticfiles_dirs =(

  ('css',os.path.join(static_root,'css')。替换('\','/'),),

  ('js',os.path.join(static_root,'js')。替换('\','/'),),

  ('images',os.path.join(static_root,'images')。替换('\','/')),

  ('upload',os.path.join(static_root,'upload')。替换('\','/'),),

  治愈

  2. urls.py文件构成以下两行

  导入设置

  (r'^static/(?P.*)$','django.views.static.serve',{'document_root':settings.static_root}),

  3.html引用方法

  链接类型=“ text/css” r =“ stylesheet” href =“ https://www.shouxicto.com/stative/csss/common.csss"/

  脚本类型=“ text/javascript” src =“ https://www.shouxicto.com/stative/js/common.js"/script

  因为django本身是由Python编写的,所以必须先安装Python。下载地址(您可以根据读者自己下载它):目前,Django 1.6倍以上版本与Python3x完全兼容

  安装Python,单击Python-3.3.4.MSI,然后直接在安装旁边。

  请注意,为了在下一步下使用python命令,必须在此处配置环境变量。right computer-computer-attribute-advanced-advanced-envanced-envence-envence-modible-modifie-modifie-modify system actyst actyst actyst actyst acty path,添加python安装地址,作者为c c c c c c c c:python33;

  Django下载后下载并在同一根目录中作为python进行解压缩,输入Django-1.6.2(读取器可能不同)DOS下,执行Python setup.py installation.py installation,然后启动安装。安装。安装lib下的lib下方。Python。

  然后配置环境变量,将这些目录添加到系统环境变量:

  c:/python33/lib/site-ackages/django;c:/python33/脚本。

  添加后,您可以使用django的django-admin.py命令新项目。

  检查安装是否成功,您可以在DOS下输入Django-1.6.2目录以查看Django版本。

  1.输入python

  2.输入导入django

  3.输入django.get_version()

  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端口访问。

  安装软件

  安装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映射的配置。

  子目录学生是在项目下创建的应用程序,包括model.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从旧写作开始,可以写入新版本。

  结论:以上是首席CTO注释的内容,每个人都将Django添加到Python。感谢您阅读内容,不要忘记在此网站上找到它。