码迷,mamicode.com
首页 > 其他好文 > 详细

Django(1.7 part1)

时间:2014-09-23 01:07:53      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   os   使用   ar   for   文件   

  1. django安装: django解压后目录下有一个setup.py文件,在命令行运行python setup.py install,当前前提是已经安装了python才能执行命令,然后用下面命令检查django是否安装成功:
    import django
    print(django.get_version())
  2. 创建project: 在命令行进入一个想用来存放project code的目录,然后运行命令:

    #django-admin.py的路径如果不在环境变量中,则要打上全路径
    django-admin.py startproject mysite

    创建的project目录结构如下:

    mysite/ #工程根目录,可以重命名
        manage.py #命令行工具,用于与django project交互,是对django-admin.py的轻封装,每个django           #projec都会自动创建t
        mysite/
            __init__.py #告诉Python mysite是一个packae
            settings.py #配置django project
            urls.py #django project中的url
            wsgi.py #python web server gateway interface,python定义的web服务器与web服务程序或框架通信         #接口
  3. database setup: 打开settings.py文件,找到Databases变量,默认使用的是python自带的sqlite db

    DATABASES = {
        default: {
            ENGINE: django.db.backends.sqlite3,
            NAME: os.path.join(BASE_DIR, db.sqlite3),
        }
    }


    如果使用的是其他数据库,则需要安装相应的数据库包,配置项也要指定一些额外的配置如USER,PASSWORD,HOST等,并且db要在数据库中创建好,如:

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


    如果要使用manage.py自动为model创建表,django必须在数据库中有相应的权限

  4. settings.py中的TIME_ZONE用于设置时区,INSTALL_APPS表示当前project中激活的django app,哪些模块不需要刻意去掉,有部分模块需要使用数据库表,所以在使用它们前要先调用manage.py migrate命令创建必要的数据库表。INSTALL_APPS默认包括如下模块:

    • django.contrib.admin:the admin site

    • django.contrib.auth:an authentication system

    • django.contrib.contenttypes:a framework for content types

    • django.contrib.sessions:a session framework

    • django.contrib.messages:a messaging framework

    • django.contrib.staticfiles:a framework for managing static files

  5. Python自带了一个development web server,只能用于开发,不能用于生产环境,使用manage.py runserver [port | ip:port]命令启动.development web server每次请求都会重新调用Python code,所以改动python code不需要重启web server,但添加文件需要重启server

  6. project和app的关系:

    • app是一个weba application,实现了某项功能,如log system,poll app等

    • project是一个web站点的一系列配置和apps的集合

    • 一个project可以包含多个apps,一个app可以属于多个project

  7. 创建modules:在project的目录下执行如下命令:

    manage.py startapp polls

    会创建一个文件夹polls,也可以在python安装目录下的其他目录创建文件夹,结构如下:

    polls/
        __init__.py
        admin.py
        migrations/
            __init__.py
        models.py
        tests.py
        views.py

    创建使用database的web app,第一步就是创建model,在models.py文件里添加继承自models.Model的类,然后要把web app 插入到django,通过配置settings.py的INSTALLED_APPS对象.这样django知道包含了polls app

    INSTALLED_APPS = (
        django.contrib.admin,
        django.contrib.auth,
        django.contrib.contenttypes,
        django.contrib.sessions,
        django.contrib.messages,
        django.contrib.staticfiles,
        polls,
    )

    然后调用manage.py makemigrations polls命令告诉django更改了model,要把改动存到migration

Django(1.7 part1)

标签:style   blog   color   io   os   使用   ar   for   文件   

原文地址:http://www.cnblogs.com/phenixyu/p/3987197.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!