系统环境: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 "
命令介绍:
-
# 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!
")
在testdj/app/目录中新建一个urls.py文件,管理应用app中的所有URL映射:
-
from django.conf.urls import url
-
from . import views
-
-
urlpatterns = [
-
url(r'', views.welcome),
-
]
在项目URL文件testdj/urls.py的urlpatterns中增加一项,声明对应用app中urls.py文件的引用:
-
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),
-
]
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) |