Django1.7学习(一)
1.Django的安装
访问https://www.djangoproject.com/选择版本下载,解压,切换至相应目录,输入以下命令即可自动安装:
python setup.py install
提示“ImportError: No module named setuptools”错误的参考这里->http://www.cnblogs.com/Mr-Rice/p/3960487.html
安装完成,设置环境变量。右击 我的电脑(计算机)->属性->高级系统设置->环境变量 编辑Path值,
将“;C:\Python27;C:\Python27\Scripts”添加其后(根据不同安装路径进行相应修改)
测试一下:python shell中键入 import django 不报错则安装成功。
2.创建新项目
命令行下,切换到自己喜欢的目录,输入以下命令(mysite为任意自己喜欢的项目名称,但避免与内建名字冲突):
django-admin startproject mysite
自动生成以下目录及文件,项目创建成功。
mysite/ manage.py #用来与Django项目交互的命令行程序 mysite/ __init__.py settings.py #项目配置文件 urls.py #URL配置文件 wsgi.py # Web 服务器网关接口入口点
3.数据库设置
Django默认使用SQLite数据库,Python自带无需自己安装。
若想用其他数据库,需要自己先安装好相应数据库应用软件,然后编辑mysite/settings.py文件,对相应值进行修改。
- ENGINE – “django.db.backends.sqlite3”(默认),“ django.db.backends.postgresql_psycopg2”, “django.db.backends.mysql”或“django.db.backends.oracle”,其他类型数据库同样支持.
- NAME - 数据库名,如果使用的是默认的SQLite,数据库将以文件的形式存档于电脑,所以此处应为完整路径名,可保持默认。
此处如果使用的数据库不是默认的SQLite,则应添加上相应的USER,PASSWORD,HOST等相应信息。
编辑settings.py同时可以修改下时区和语言信息:
LANGUAGE_CODE = 'zh-cn' TIME_ZONE = 'Asia/Shanghai'
同时注意到INSTALLED_APPS设置,默认包含以下几个APP:
django.contrib.admin – 管理后台. django.contrib.auth – 认证系统 django.contrib.contenttypes – 内容类型框架 django.contrib.sessions – session框架 django.contrib.messages – 信息框架 django.contrib.staticfiles – 静态文件管理框架
以上应用均使用一个或以上数据库,因此使用前我们需要先建立数据库,使用以下命令创建:
python manage.py migrate
migrate命令根据mysite/settings.py文件中的数据库相关设置为应用创建相应所需数据库文件
4.开发服务器
接下来确认Django项目正常运行,切换到最外层mysite目录,执行以下命令:
python manage.py runserver
得到以下回显则启动成功,CTRL + BREAK组合键可以结束
Performing system checks... System check identified no issues (0 silenced). September 07, 2014 - 17:53:26 Django version 1.7, using settings 'mysite.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK.
这是Django自带的一个轻量级服务器,用于快速开发,这时浏览器访问 http://127.0.0.1:8000/ 可以看到“Welcome to Django”的欢迎页面,则正常工作
当访问页面后,命令行上会记录下访问历史
如果想要改变服务器运行IP和端口则可以用如下命令启动:
python mange.py runserver IP Port
example: python mange.py runserver 0.0.0.0 8080
5.创建应用models
有了项目之后就可以在它下面创建应用了(app),键入如下命令:
python manage.py startapp polls
生成如下列文件:
polls/ __init__.py admin.py migrations/ __init__.py models.py tests.py views.py
编辑polls/models.py,可以看到如下占位代码:
from django.db import models #Create your models here.
删掉注释,加入自己的代码,此处以Question和Choice两个models为例。
from django.db import models class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') class Choice(models.Model): question = models.ForeignKey(Question) choice_text = models.CharField(max_length=200) votes = models.IntegerField(default=0)
6.激活models
models代码提供给Django信息,有了这些信息Django可以:
- 为该应用创建对应的数据库架构 (CREATE TABLE statements) 。
- 为 Poll 和 Choice 对象创建 Python 访问数据库的 API 。
但在那之前,我们得先告诉项目已经安装了polls应用。再次编辑settings.py文件,在INSTALLED_APPS中加入‘polls’,注意末尾逗号:
INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'polls', )
接下来就可以运行如下命令了:
python manage.py makemigrations polls
得到类似如下回显
Migrations for 'polls': 0001_initial.py: - Create model Question - Create model Choice
再运行如下命令:
python manage.py migrate
每次修改models.py文件后都要重复以上步骤来激活models和更新数据库。
未完待续。。。。