一、关于Django以下两个站点,在使用方面有详细说明。

  http://www.nowamagic.net/academy/part/13/286

  http://www.w3cschool.cc/django/django-tutorial.html

以下是在centos6.0最小系统下,搭建Django的过程,默认Python版本2.6

二、安装Django

1、下载源码使用python setup.py install安装,下载时选择与python环境相兼容的版本。很多高版本的Django不下向兼容低版本的python,如1.7及以上版本不支持python2.6

2、或使用pip django install,但只能下载并安装最新版本的django,无法根据当前python版本选择兼容的版本。

3、也可使用easy_install django安装,但实际报失败,未定位原因。

(easy_install安装:下载ez_setup-0.9.tar.gz,使用python setup.py install安装,pip安装:easy_install安装后,easy_install pip)

三、确认是否安装成功

1、执行python,进入python交互环境,执行import django,成功;

2、执行django-admin命令,可以查看到help信息。

四、创建一个项目,并访问该项目,确认系统配置是否正确。

django-admin.py startproject MyDjProj

进入MyDjProj目录后,执行:python manage.py runserver 0.0.0.0:80

0.0.0.0:是保证其它设备可以通过访问ip地址来访问django,MyDjProj。如在windows环境下,通过浏览器访问10.10.50.109,可访问。

80:是端口,可以使用其它端口。

**注:如果浏览器无法访问,检查iptable是否关闭。

如果浏览器访问正常,说明django环境搭建成功,更多django使用配置,即可参考一节中的两个站点详细说明。

五、安装数据库

Django默认使用sqlite3,如果想使用MySQL,需要安装MySQL-python,才可以通过Django框架使用MySQL。

基础环境安装mysql:包括,

  mysql-5.1.47-4.el6.x86_64
  mysql-devel-5.1.47-4.el6.x86_64
  mysql-server-5.1.47-4.el6.x86_64
  mysql-libs-5.1.47-4.el6.x86_64

安装MySQL-python,使用:

  pip install MySQL-python

安装前,必须保证系统已安装python-devel的包,否则会报缺少python相关的.h文件,如"_mysql.c:29:20: error: Python.h: No such file or directory"。

(理论上应该也需要安装mysql-devel)

六、如果安装最新版本Django,必须先升级python。

  1、首先下载源tar包

    可利用linux自带下载工具wget下载,如下所示:

      wget http://www.python.org/ftp/python/3.3.0/Python-3.3.0.tgz

    或从网上下载Python-3.1.2.tar.bz2版本,下载完成后到下载目录下,解压

    bunzip2 Python-3.1.2.tar.bz2
    tar -xvf Python-3.1.2.tar

  2、安装

    在编译前先在/usr/local建一个文件夹python3(作为python的安装路径,以免覆盖老的版本)

      mkdir /usr/local/python3

    开始编译安装

      ./configure --prefix=/usr/local/python3;make;make install
 
  3、更改bin文件。

    此时没有覆盖老版本,再将原来/usr/bin/python链接改为别的名字

      mv /usr/bin/python /usr/bin/python_old

    再建立新版本python的链接

      ln -s /usr/local/python3/bin/python3 /usr/bin/python

    这个时候输入

      python

    就会显示出python的新版本信息。

  PS:如果不建立新安装路径python3,而是直接默认安装,则安装后的新python应该会覆盖linux下自带的老版本,也有可能不覆盖,具体看安装过程了,这个大家可以自己试验下,当然如果还想保留原来的版本,那么这种方法最好不过了。

  4、在python3.4版本中easy_install及pip工具已默认安装,使用此工具可安装自动下载并安装发布的python项目/工具。

  easy_install只提供了安装功能,pip提供了install及uninstall。

  5、安装时可能遇到的问题

  •  报错:“Python build finished successfully!

      The necessary bits to build these optional modules were not found:
      _bz2 _dbm _gdbm
      _lzma _sqlite3 _tkinter
      readline
      To find the necessary bits, look in setup.py in detect_modules() for the module's name.

      ”

      可暂忽略,但后续如果需要使用这些模块时,需要安装模块,重新安装python,所以,最好是将这些模块都安装后,再进行后续工作。

      模块对应包如下:

        

模块 依赖 说明
_bsddb bsddb Interface to Berkeley DB library。Berkeley数据库的接口
_curses ncurses Terminal handling for character-cell displays。
_curses_panel ncurses-devel A panel stack extension for curses。
_sqlite3 sqlite-devel DB-API 2.0 interface for SQLite databases。SqlLite,CentOS可以安装sqlite-devel
_ssl openssl-devel TLS/SSL wrapper for socket objects。
_tkinter tk-devel a thin object-oriented layer on top of Tcl/Tk。如果不使用桌面程序可以忽略TKinter
bsddb185 old bsddb module 老的bsddb模块,可忽略。
bz2 bzip2-devel Compression compatible with bzip2。bzip2-devel
dbm bsddb(安装gdbm-devel即可) Simple “database” interface。
dl N/A Call C functions in shared objects.Python2.6开始,已经弃用。
gdbm gdbm-devel.i686 GNU’s reinterpretation of dbm
imageop N/A Manipulate raw image data。已经弃用。
readline readline-devel GNU readline interface
sunaudiodev N/A Access to Sun audio hardware。这个是针对Sun平台的,CentOS下可以忽略
zlib Zlib Compression compatible with gzip
_lzma xz-devel compression utils
  • 报错“Ignoring ensurepip failure: pip 6.0.8 requires SSL/TLS”,需要安装openssl-devel包。
  • yum命令执行失败。由python2.6升级到python3.4版本,会遇到yum命令执行失败的问题,是由于/usr/bin/yum命令是python解释
    器来解析的,而python这块的兼容性不太好,升级后,会遇到语法错误执行失败。解决方法一:升级yum;解决方法二:修改/usr/bin/yum,
    将第一行,修改为#!/usr/bin/python2.6
  • 如果系统时间不正确,那么有可能在make的时候循环进行./configure的操作,无法进入真正的make环节。

Django搭建及源码分析(一)的更多相关文章

  1. Django搭建及源码分析(三)---+uWSGI+nginx

    每个框架或者应用都是为了解决某些问题才出现旦生的,没有一个事物是可以解决所有问题的.如果觉得某个框架或者应用使用很不方便,那么很有可能就是你没有将其使用到正确的地方,没有按开发者的设计初衷来使用它,当 ...

  2. Django搭建及源码分析(二)

    上节针对linux最小系统,如何安装Django,以及配置简单的Django环境进行了说明. 本节从由Django生成的manage.py开始,分析Django源码.python版本2.6,Djang ...

  3. Django如何启动源码分析

    Django如何启动源码分析 启动 我们启动Django是通过python manage.py runsever的命令 解决 这句话就是执行manage.py文件,并在命令行发送一个runsever字 ...

  4. Django之DRF源码分析(二)---数据校验部分

    Django之DRF源码分析(二)---数据校验部分 is_valid() 源码 def is_valid(self, raise_exception=False): assert not hasat ...

  5. Django rest framework源码分析(3)----节流

    目录 Django rest framework(1)----认证 Django rest framework(2)----权限 Django rest framework(3)----节流 Djan ...

  6. Django rest framework源码分析(1)----认证

    目录 Django rest framework(1)----认证 Django rest framework(2)----权限 Django rest framework(3)----节流 Djan ...

  7. Django rest framework 源码分析 (1)----认证

    一.基础 django 2.0官方文档 https://docs.djangoproject.com/en/2.0/ 安装 pip3 install djangorestframework 假如我们想 ...

  8. django CBV视图源码分析

    典型FBV视图例子 url路由系统 from django.conf.urls import url from django.contrib import admin from luffycity.v ...

  9. Django rest framework源码分析(一) 认证

    一.基础 最近正好有机会去写一些可视化的东西,就想着前后端分离,想使用django rest framework写一些,顺便复习一下django rest framework的知识,只是顺便哦,好吧. ...

随机推荐

  1. eclipse中安装tomcat插件

    一.软件下载 Eclipse3.6 IDE for Java EE Developers: 下载地址:http://eclipse.org/downloads/ Tomcat Eclipse Plug ...

  2. [ActionScript 3.0] flash如何访问父级或者舞台上的变量、函数等的方法

    方法一: 进行类型转换,先将root.parent强制转换为MovieClip类型,再进行使用,如下:MovieClip(root).i.MovieClip(this.parent).i.MovieC ...

  3. stat 查看文件修改时间

    Ø  访问时间(accesstime):读取一次文件的内容,该时间便会更新 Ø  修改时间(modifytime):对文件内容修改一次便会更新该时间. Ø  改变时间(changetime):更改文件 ...

  4. buildbot 自动启动

    buildbot的master或者slave,一般配置好了之后, 总希望永久可用,即使机器因为某些原因重启了,也会自动启动. 官网文档不推荐使用root启动master. 而是使用用户级别的cront ...

  5. turing 项目引用

    1.友盟自动更新 2.友盟统计 3.友盟消息推送 http://www.bejson.com/json2javapojo/ 引用bejson 解析JSON生成类,数组 private List< ...

  6. EF连接mysql数据库生成实体模型

    声明:本人也是第一次用EF连接mysql生成实体模型 经过试验: mysql-connector-net-6.6.6 可以支持VS2012 mysql-connector-net-6.3.9 可以支持 ...

  7. JQuery上传插件uploadify整理(Options)

    下载  现在有两个版本了,我此次使用的依然是Flash版本的,虽然现在绝大部分浏览器都兼容HTMKL5,目前位置,除了做手机项目外,一般我们项目中不允许使用HTML5标签. 属性介绍(Options) ...

  8. WIN7上搭建Windows Phone 8 开发环境——VMware Workstation下Win8 “无法安装Hyper-V, 某个虚拟机监控程序正在运行”问题解决的办法

    最近在试着在Windows 7上搭建Windows Phone 8的开发调试环境,使用的是VMware Workstation + Win8 Pro的虚拟环境, 在漫长的WPexpress_full下 ...

  9. GCD 深入理解(一)

    http://www.cocoachina.com/industry/20140428/8248.html 本文由@nixzhu翻译至raywenderlich的<grand-central-d ...

  10. jdk线程的死锁

    两个线程相互等着对方释放同步监听器:等着要对方的结果后才能继续执行就会发生死锁. 男对女说:你先嫁给我,我再给你买房子:女对男说:你先给我买房子,我再嫁给你. 多个线程同时锁住同一个监听对象. 在开发 ...