Django初探

django document 提供了非常详尽的资料:https://docs.djangoproject.com/en/1.8/。 按照django document推荐,搭建开发环境:使用vagrant搭建了ubuntu 14.1系统,python和django版本分别是3.4.3和1.8.2,使用pyenv,三步法快速配置:

git clone https://github.com/yyuu/pyenv.git ~/.pyenv 并添加环境变量: export PYENV_ROOT="$HOME/.pyenv” ; export PATH="$PYENV_ROOT/bin:$PATH” 

pyenv install 3.4.3; pyenv global 3.4.3

pip install django

初识Django

Django同样采用MVC设计模式,也成为MTV,MTV分别指:Model、Template、View。即模型(数据层)、模板(表现层)、视图(业务逻辑层)。顾名思义,Model负责的是数据库的相关操作,Template负责展现哪些数据(rails中更加注重如何展现数据)。

django安装好之后,运行django-admin.py startproject mysite 在当前文件夹下创建一个项目,项目名称为mysite,创建成功后,会生成如下文件:

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py

其中,manage.py是对jango-admin.py的一个扩展,在jango-admin.py的基础上,会额外添加项目中的settings.py,加载项目设置。

settings.py文件中,存放了一些元组和列表,以及一些常量的设定。如INSTALLED_APPS元组指定了项目中需要安装的功能模块,TEMPLATES是一个存放模板信息的字典,DATABASE指定使用的数据库等,详细配置信息:https://docs.djangoproject.com/en/1.8/ref/settings/

urls.py文件中,存放一个url的列表,每个元素都是一个url对象,传入的两个参数为正则表达式的pattern,以及对应的页面

wsgi.py文件中包含一些工程的解析设置。wsgi建立在CGI基础上,所以该文件应该和web服务器相关。

数据库配置

django默认使用sqlite数据库,如果需要使用其他数据库,需要在settings.py中修改设置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'mydatabase',
        'USER': 'mydatabaseuser',
        'PASSWORD': 'mypassword',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}

来自jango document

其中,如果使用MySQL,ENGINE应该设置为:’django.db.backends.mysql’ ,如果是sqlite,数据库对应为一个文件,在设置中对应为NAME的值,如果是MySQL或者PostgreSQL,则NAME的值应该为数据库的名字,所以必须先创建数据库。而USER,PASSWORD是登陆到数据库的用户名密码,HOST和PORT则是数据库对应的地址和端口。

如果使用MySQL,应该同时将数据库名字添加到INSTALL_APPS中,以便Model访问

这里由于MySQL-python并不支持python3,如果使用python3安装,则会报错:ImportError: No module named ‘ConfigParser',因为python3中该模块已经改名为configparser,解决方法为:安装mysql-client,http://stackoverflow.com/questions/14087598/python-3-3-importerror-no-module-named-configparser

配置好settings.py后,要在MySQL中创建响应的数据库

通过在MySQL中查询:show global variables like ‘ports’,可以查看到数据库使用的端口,mysql默认应该是3306。

create database mysite 创建名为mystic的数据库

并且修改settings.py中的DATABASES和INSTALL_APPS。

使用python manage.py check 检查是否有语法错误: System check identified no issues (0 silenced). 基本配置成功

原文地址:https://www.cnblogs.com/lyon2014/p/4548117.html