Python Web框架Django笔记(一)
Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。
Django可以运行在Apache,Nginx上,也可以运行在支持WSGI,FastCGI的服务器上。支持多种数据库,已经支持Postgresql,MySql, Sqlite3,Oracle。Google App Engine也支持Django的某些部分,国内支持的平台有(SAE)Sina App Engine,(BAE)百度应用引擎。
Django 项目是一个python定制框架,它源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。
Django 框架的核心组件有:
》》用于创建模型的对象关系映射
》》为最终用户设计的完美管理界面
》》一流的 URL 设计
》》设计者友好的模板语言
》》缓存系统
Django(发音:[`dɡ]) 是用python语言写的开源web开发框架(open source web framework),它鼓励快速开发,并遵循MVC设计。Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 。Django 根据比利时的爵士音乐家Django Reinhardt命名,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。由于Django在近年来的迅速发展,应用越来越广泛,被著名IT开发杂志SD Times评选为2013 SD Times 100,位列“API、库和框架”分类第6位,被认为是该领域的佼佼者。
================================================================================================
一、Linux平台搭建Django环境
================================================================================================
1、Linux系统环境
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# uname -r
3.10.0-514.el7.x86_64
[root@localhost ~]# uname -m
x86_64
2、安装python
python2.7.5已经搭建好了
[root@localhost ~]# python
Python 2.7.5 (default, Aug 4 2017, 00:39:18)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
2、安装pip
[root@localhost ~]# pip -V
pip 9.0.1 from /usr/lib/python2.7/site-packages/pip-9.0.1-py2.7.egg (python 2.7)
3、安装setuptools
[root@localhost ~]# yum -y install setuptools
4、安装Django环境
[root@localhost ~]# easy_install django
或者[root@localhost ~]# pip install django
5、测试django是否安装成功
[root@bogon setuptools-36.5.0]# django-admin --version
1.11.5
或者
[root@bogon setuptools-36.5.0]# python
Python 2.7.5 (default, Aug 4 2017, 00:39:18)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.get_version()
'1.11.5'
【更新地址】http://doublelinux.blog.51cto.com/12300166/1965832
================================================================================================
二、django使用
================================================================================================
1、使用Django创建一个名为helloworld的项目
[root@bogon setuptools-36.5.0]# cd /home/qiu/
[root@bogon qiu]# django-admin startproject helloworld
[root@bogon qiu]# ls
helloworld
2、运行项目helloworld
[root@bogon qiu]# cd helloworld/
[root@bogon helloworld]# ls
helloworld manage.py
[root@bogon helloworld]# python manage.py runserver 192.168.255.128:8000
Performing system checks...
System check identified no issues (0 silenced).
You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
September 16, 2017 - 06:27:28
Django version 1.11.5, using settings 'helloworld.settings'
Starting development server at http://192.168.255.128:8000/
Quit the server with CONTROL-C.
3、防火墙和selinux设置
[root@bogon hello]# systemctl stop firewalld
[root@bogon hello]# setenforce 0
4、浏览器中访问
出现问题
5、解决问题
[root@bogon qiu]# cd /home/qiu/helloworld/
[root@bogon helloworld]# ls
db.sqlite3 helloworld manage.py
[root@bogon helloworld]# cd helloworld/
[root@bogon helloworld]# ls
__init__.py __init__.pyc settings.py settings.pyc urls.py urls.pyc wsgi.py wsgi.pyc
[root@bogon helloworld]# vim settings.py
将ALLOWED_HOSTS = []修改为ALLOWED_HOSTS = ['*']
6、访问正常
=================================================================================================
三、开始部署django项目时,必要操作
=================================================================================================
1、升级python版本
2、安装pip
3、安装djangoo
4、使用djang-admin命令部署一个项目,如名为test02
5、在项目test02中新建一个目录templates,并将该目录设置为默认目录,以便存放前端代码等数据
6、在setting.py文件中将templates目录添加进去
7、在项目test02中新建一个目录static,以便存放静态文件
8、在setting.py文件末尾将static配置为静态目录
9、在views.py中定义函数
10、在urls.py中加入访问路径
11、设置默认首页