Django学习【第一篇】:Django安装
参考资料:http://python.usyiyi.cn/django/index.html#
Django概述
Django是在一个快节奏的新闻编辑室环境下开发出来的,因此它被设计成让普通的网站开发工作变得简单而快捷。
Django安装
第一步:作为一个Python Web框架,Django需要Python 。 它适用Python 2.7、3.2、3.3和3.4。确保你的系统已经安装有Python
第二步:安装数据库(MySQL,PostgreSQL等)
第三步:删除旧版本的Django
第四部:安装Django(选择系统默认安装环境)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#!/usr/bin/env python if [ ! $# -eq 1 ] then echo -e "Usage:$0 project_name" exit 1 fi project_name=$1 pip install virtualenv mkdir -p $project_name cd $project_name virtualenv venv . venv/bin/activate
工作环境:
- 系统:CentOS release 6.6
- Python版本:Python 2.7.10
- Django版本:Django 1.9.8
pip install django easy_install django # 版本查看 import django print(django.VERSION)
案例:一个基本的投票应用
- 一个对外的网站,可以让访客查看投票的结果并让他们进行投票。
- 一个管理网站,你可以添加、修改和删除选票。
Django基础知识:
1、安装完Django之后,就可以使用django-admin管理Django项目的各项内容
[root@saltstack django]# django-admin Type 'django-admin help <subcommand>' for help on a specific subcommand. # 每个子命令可以通过 django-admin help <subcommand>查询详细的使用方法 Available subcommands: [django] check compilemessages createcachetable dbshell # 启动数据库的命令行工具 diffsettings dumpdata flush inspectdb loaddata makemessages makemigrations migrate runserver # 启动服务 sendtestemail shell # 启动交互界面 showmigrations sqlflush sqlmigrate sqlsequencereset squashmigrations startapp # 创建APP startproject # 创建项目 test testserver
创建一个项目
(venv) [root@saltstack django]# django-admin startproject mysite (venv) [root@saltstack django]# tree mysite/ mysite/ # 外层的mysite/根目录仅仅是项目的一个容器。它的命名对Django无关紧要;你可以把它重新命名为任何你喜欢的名字。 ├── manage.py # 一个命令行工具,可以使你用多种方式对Django项目进行交互。 └── mysite # 内层的mysite/目录是你的项目的真正的Python包。它是你导入任何东西时将需要使用的Python包的名字(例如 mysite.urls)。 ├── __init__.py # mysite/__init__.py:一个空文件,它告诉Python这个目录应该被看做一个Python包。 ├── settings.py # mysite/settings.py:该Django 项目的设置/配置。 ├── urls.py # mysite/urls.py:该Django项目的URL声明;你的Django站点的“目录”。 └── wsgi.py # mysite/wsgi.py:用于你的项目的与WSGI兼容的Web服务器入口。 1 directory, 5 files
数据库建立
默认情况下,该配置使用SQLite。如果你是数据库初学者,或者你只是想要试用一下Django,它是最简单的选择。 SQLite包含在Python中,所以你不需要另外安装其他任何东西来支持你的数据库。 然而,当你开始第一个真正的项目时,你可能想使用一个更健壮的数据库比如PostgreSQL来避免在未来遇到令人头疼的数据库切换问题。
如果你希望使用另外一种数据库,请配置合适的database binding,并在 DATABASES 'default'条目中修改以下的配置以匹配你的数据库连接的设置:
ENGINE – 'django.db.backends.sqlite3', 'django.db.backends.postgresql_psycopg2', 'django.db.backends.mysql'或'django.db.backends.oracle'。其它的后台也可以支持。
类似:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'mydatabase', 'USER': 'mydatabaseuser', 'PASSWORD': 'mypassword', 'HOST': '127.0.0.1', 'PORT': '5432', } }
修改时区
另外,请注意文件顶端的INSTALLED_APPS设置。它保存这个Django实例中激活的所有的Django应用的名字。 应用可以在多个项目中使用,而且你可以将这些应用打包和分发给其他人在他们的项目中使用。
默认情况下,INSTALLED_APPS包含下面的应用,它们都是Django 与生俱来的:
django.contrib.admin —— 管理站点。你将在本教程的第2部分使用到它。
django.contrib.auth —— 认证系统。
django.contrib.contenttypes —— 用于内容类型的框架。
django.contrib.sessions —— 会话框架。
django.contrib.messages —— 消息框架。
django.contrib.staticfiles —— 管理静态文件的框架。
这些应用,默认包含在Django中,以方便通用场合下使用。
初始化数据库
python manage.py migrate
运行服务器
python manage.py runserver 0.0.0.0:8000
创建模型
项目 vs. 应用
项目和应用之间有什么不同? 应用是一个Web应用程序,它完成具体的事项 —— 比如一个博客系统、一个存储公共档案的数据库或者一个简单的投票应用。 项目是一个特定网站中相关配置和应用的集合。一个项目可以包含多个应用。一个应用可以运用到多个项目中。
你的应用可以放在Python path上的任何位置。在本教程中,我们将在你的manage.py文件同级目录创建我们的投票应用,以便可以将它作为顶层模块导入,而不是mysite的子模块。
确保你在与manage.py相同的目录下,并且键入以下命令来创建你的应用:
$ python manage.py startapp polls
这将创建一个目录polls,它的结构如下:
polls/
__init__.py
admin.py
migrations/
__init__.py
models.py
tests.py
views.py
我们的投票应用将基于这个目录结构。
激活模型
创建一个管理员用户
C:\Users\Administrator\PycharmProjects\untitled2>python3 manage.py createsuperuser # 创建一个能够登陆管理站点的用户 Username (leave blank to use 'administrator'): admin # 超级用户的用户名 Email address: 1455975151@qq.com Password: Password (again): Superuser created successfully.
# 密码:admin12
启动服务器
进入管理站点
让poll应用在管理站点中可编辑
自定义管理表单
添加管理对象
自定义管理界面中的变更列表
自定义管理站点的外观
自定义项目的模板
Django常见模板存放位置:C:\Python35\Lib\site-packages\django\contrib\admin\templates\admin
改系统默认的模板/usr/local/lib/python2.7/dist-packages/django/contrib/admin/templates/admin/login.html(登陆界面)
自定义应用的模板
自定义管理站点的首页面
出处:http://www.cnblogs.com/madsnotes/
声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。