Chinaunix首页 | 论坛 | 博客
  • 博客访问: 401932
  • 博文数量: 112
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 800
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-29 13:41
文章分类

全部博文(112)

文章存档

2020年(1)

2018年(10)

2017年(27)

2016年(18)

2015年(31)

2014年(25)

分类: Python/Ruby

2017-01-18 21:27:48

系统环境:CentOS 6.2
Python版本:2.7.8

1、安装Django:
   1.1、pip安装:
             pip install django
    1.2、easy_install安装:
          easy_install django
    1.3、编译安装:
            下载地址:
            tar -zxvf Django-1.10.5.tar.gz
            cd Django-1.10.5
           python setup.py install
   1.4、git安装
           git clone
           cd Django-1.10.5
            python setup.py install
 
安装完成后,执行如下命令验证是否安装成功:
查看django安装路径echo "$(dirname $(python -c "import django; print django.__file__"))/bin/django-admin.py "

         

命令介绍:

点击(此处)折叠或打开

  1. # django-admin.py --help

  2. [django]
  3.     check
  4.     compilemessages
  5.     createcachetable
  6.     dbshell
  7.     diffsettings
  8.     dumpdata
  9.     flush
  10.     inspectdb
  11.     loaddata
  12.     makemessages
  13.     makemigrations
  14.     migrate
  15.     runserver
  16.     sendtestemail
  17.     shell
  18.     showmigrations
  19.     sqlflush
  20.     sqlmigrate
  21.     sqlsequencereset
  22.     squashmigrations
  23.     startapp
  24.     startproject
  25.     test
  26.     testserver
  27. django-admin.py startproject my_web #创建项目


点击(此处)折叠或打开


  1. #python manage.py --help #帮助文档
  2. Available subcommands:

  3. [auth]
  4.     changepassword
  5.     createsuperuser

  6. [contenttypes]
  7.     remove_stale_contenttypes

  8. [django]
  9.     check
  10.     compilemessages
  11.     createcachetable
  12.     dbshell
  13.     diffsettings
  14.     dumpdata
  15.     flush
  16.     inspectdb
  17.     loaddata
  18.     makemessages
  19.     makemigrations
  20.     migrate
  21.     sendtestemail
  22.     shell
  23.     showmigrations
  24.     sqlflush
  25.     sqlmigrate
  26.     sqlsequencereset
  27.     squashmigrations
  28.     startapp
  29.     startproject
  30.     test
  31.     testserver

  32. [sessions]
  33.     clearsessions

  34. [staticfiles]
  35.     collectstatic
  36.     findstatic
  37.     runserver
  38. #python manage.py startapp article #创建app
  39. #python manage.py runserver 0.0.0.0:80 #启动Django中的开发服务器,地址localhost 可端口。例:9000


2、建立项目:
   #ln -s /usr/local/python27/bin/django-admin /usr/bin/django-admin
   #django-admin startproject testdj(项目名)
   #cd testdj/
    目录内容如下:
    
   manage.py:是Django用于管理本项目的命令行工具,之后进行站点运行、数据库自动生成、静态文件收集等都要通过该文件完成。
    内层testdj目录中包含了一下文件:
   __init__.py:告诉Python该目录是一个Python包,其中暂无内容。
   settings.py:Django的项目配置文件。默认时,在其中定义了本项目引用的Django组件、Django项目名等。在之后的开发中,还需在其中配置数据库参数、导入的其它Python包等信息。
   urls.py:维护项目的URL路由映射,即定义客户端访问的URL由哪一个Python模块解释并提供反馈。默认情况下,其中只定义了"/admin"即管理员站点的解释器。
   wsgi.py:定义WSGI的接口信息,用于与其它Web服务器集成,一般本文件在生成后无须改动。

3、建立应用
   # cd /tmp/testdj/
   #python manage.py startapp app(应用名)
   
   报错:django.core.exceptions.ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No module named _sqlite3 
           

点击(此处)折叠或打开

  1. yum install -y sqlite sqlite-devel
  2. 重新编译一下python
  3. cd Python-2.7.8/
  4. ./configure --prefix=/usr/local/python2.7.8 --with-openssl
  5. make && make install
  6. # python
  7. >>> import sqlite3
    >>>


 其中的文件功能介绍:
   __init__.py:告诉Python该目录是一个Python包,其中暂无内容
   admin.py:管理站点模型的声明文件,默认为空。
   apps.py:应用信息定义文件。在其中生成了类AppConfig,该类用于定义应用名等Meta数据。
   migrations包:用于在之后定义引用迁移功能。
   models.py:添加模型层数据类的文件。
   tests.py:测试代码文件。
   views.py:定义URL响应函数。
   
   在testdj/app/views.py中建立一个路由响应函数:
   

点击(此处)折叠或打开

  1. from django.shortcuts import render

  2. # Create your views here.
  3. from django.http import HttpResponse

  4. def welcome(request):
  5.     return HttpResponse("

    Welcome to my home!

    "
    )
    在testdj/app/目录中新建一个urls.py文件,管理应用app中的所有URL映射:
   

点击(此处)折叠或打开

  1. from django.conf.urls import url
  2. from . import views

  3. urlpatterns = [
  4.     url(r'', views.welcome),
  5. ]
     在项目URL文件testdj/urls.py的urlpatterns中增加一项,声明对应用app中urls.py文件的引用:
    

点击(此处)折叠或打开

  1. from django.conf.urls import url
  2. from django.contrib import admin
  3. from django.conf.urls import include             #新增项
  4. urlpatterns = [
  5.     url(r'^app/', include('app.urls')),          #新增项
  6.     url(r'^admin/', admin.site.urls),
  7. ]
4、内置Web服务器
   #cd /tmp/testdj
   #python manage.py runserver 0.0.0.0:8001
   
   如有如下报错,需修改testdj/testdj/settings.py文件中:
   
   ALLOWED_HOSTS = [''] 为 ALLOWED_HOSTS = ['localIP']
   
   访问Web页面:
   




阅读(1074) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~