zoukankan      html  css  js  c++  java
  • 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). 基本配置成功

  • 相关阅读:
    13 内建属性 _getattribute_ 内建函数
    12 垃圾回收GC
    11 元类
    12 动态语言 __slots__
    11 作用域
    10 带参数的装饰器 通用装饰器 类装饰器
    9 装饰器
    8 闭包
    6 生成器 yield 协程
    cmd常用命令
  • 原文地址:https://www.cnblogs.com/lyon2014/p/4548117.html
Copyright © 2011-2022 走看看