Python版本:2.7.8
1、安装Django:
1.1、pip安装:
pip install django
1.2、easy_install安装:
easy_install django
1.3、编译安装:
下载地址:https://www.djangoproject.com/download/
tar -zxvf Django-1.10.5.tar.gz
cd Django-1.10.5
python setup.py install
1.4、git安装
git clone https://github.com/django/django.git
cd Django-1.10.5
python setup.py install
安装完成后,执行如下命令验证是否安装成功:
查看django安装路径:echo "$(dirname $(python -c "import django; print django.__file__"))/bin/django-admin.py "
命令介绍:
点击(此处)折叠或打开
- # django-admin.py --help
- [django]
- check
- compilemessages
- createcachetable
- dbshell
- diffsettings
- dumpdata
- flush
- inspectdb
- loaddata
- makemessages
- makemigrations
- migrate
- runserver
- sendtestemail
- shell
- showmigrations
- sqlflush
- sqlmigrate
- sqlsequencereset
- squashmigrations
- startapp
- startproject
- test
- testserver
- django-admin.py startproject my_web #创建项目
点击(此处)折叠或打开
- #python manage.py --help #帮助文档
- Available subcommands:
- [auth]
- changepassword
- createsuperuser
- [contenttypes]
- remove_stale_contenttypes
- [django]
- check
- compilemessages
- createcachetable
- dbshell
- diffsettings
- dumpdata
- flush
- inspectdb
- loaddata
- makemessages
- makemigrations
- migrate
- sendtestemail
- shell
- showmigrations
- sqlflush
- sqlmigrate
- sqlsequencereset
- squashmigrations
- startapp
- startproject
- test
- testserver
- [sessions]
- clearsessions
- [staticfiles]
- collectstatic
- findstatic
- runserver
- #python manage.py startapp article #创建app
- #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
点击(此处)折叠或打开
- yum install -y sqlite sqlite-devel
- 重新编译一下python
- cd Python-2.7.8/
- ./configure --prefix=/usr/local/python2.7.8 --with-openssl
- make && make install
- # python
- >>> import sqlite3
>>>
其中的文件功能介绍:
__init__.py:告诉Python该目录是一个Python包,其中暂无内容。
admin.py:管理站点模型的声明文件,默认为空。
apps.py:应用信息定义文件。在其中生成了类AppConfig,该类用于定义应用名等Meta数据。
migrations包:用于在之后定义引用迁移功能。
models.py:添加模型层数据类的文件。
tests.py:测试代码文件。
views.py:定义URL响应函数。
在testdj/app/views.py中建立一个路由响应函数:
点击(此处)折叠或打开
- from django.shortcuts import render
- # Create your views here.
- from django.http import HttpResponse
- def welcome(request):
- return HttpResponse("
Welcome to my home!
")
点击(此处)折叠或打开
- from django.conf.urls import url
- from . import views
- urlpatterns = [
- url(r'', views.welcome),
- ]
点击(此处)折叠或打开
- from django.conf.urls import url
- from django.contrib import admin
- from django.conf.urls import include #新增项
- urlpatterns = [
- url(r'^app/', include('app.urls')), #新增项
- url(r'^admin/', admin.site.urls),
- ]
#cd /tmp/testdj
#python manage.py runserver 0.0.0.0:8001
如有如下报错,需修改testdj/testdj/settings.py文件中:
ALLOWED_HOSTS = [''] 为 ALLOWED_HOSTS = ['localIP']
访问Web页面: