一、关于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. 30岁IT男连续工作一个月 突然失聪

    连续开发软件一个月,30 岁男子突然听不见声音了.近日,浙江省中山医院针灸科主任高宏主任中医师接诊了这名患者.高主任说,现在很多年轻人工作压力大,得突发性耳聋的越来越多,这种病听着不是威胁生命的大病, ...

  2. solr学习之添加文档

    一.开篇语 其实Solr就是一个你可以通过他来查询文档的东西,他整个都是基于Document的,那么这些Document从何而来列?  当然是我们给他,而这些来源就包括了:数据库文件,XML,Json ...

  3. perl处理含有中文字符的json编码

    例子:1. 有php的 json函数生成的中文串 [root@tts177:/tmp]$/opt/php/bin/php -r 'echo json_encode(Array("a" ...

  4. java获取数据库的列名,类型等信息

    当你使用和学习JDK的时候,可以查看并学习它所提供给你的两个ResultSetMetaData 和DataBaseMetaData类的源码并很好的了解它们的实现原理和思路,JDBC中提供有两种源数据, ...

  5. PS 的参考线

    新建参考线 菜单:"视图-新建参考线", 直接输入想要位置的参考线.   参考线对齐 按住Shift键拉辅助线,辅助线会自动对齐到当前标尺的刻度上.           按住Alt ...

  6. 【译】深入理解python3.4中Asyncio库与Node.js的异步IO机制

    转载自http://xidui.github.io/2015/10/29/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3python3-4-Asyncio%E5%BA%93% ...

  7. Hbase基础操作

    $HBASE_HOME/bin/hbase org.apache.hadoop.hbase.mapreduce.RowCounter 'tablename'

  8. java——操作文件

    Java文件操作,共实现了文件复制(单个文件和多层目录文件),文件移动(单个文件和多层目录文件),文件删除(单个文件和多层目录文件),文件压缩 (单个文件),文件解压(单个文件),文件分割(将一个大文 ...

  9. (Loadrunner)Abnormal termination, caused by mdrv process termination.(转)

    Load generator跑了太多用户导致CPU和内存爆满,进程无法处理请求 确认自定义的代码是否释放内存 合理调整或增加思考时间 关闭extended log 尽量避免使用Load generat ...

  10. HDU2063_过山车_C++

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2063 又是一道二分图匹配的裸题,直接上匈牙利算法 注意一点它末尾的0结束,是标志着有多组数据……坑…… # ...