Django(1.7 part1)

  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

时间: 2024-11-29 11:18:14

Django(1.7 part1)的相关文章

实战Django:官方实例Part1

[写在前面] 撰写这个实战系列的Django文章,是很久之前就有的想法,问题是手头实例太少,一旦开讲,恐有"无米下锅"之忧. 随着对Django学习的深入,渐渐有了些心得,把这些心得整理出来,以规范的.方便新人上手的撰写方式来写这个实战系列,相信对刚接触Django的童鞋会有一定的帮助. 舍得这里所用到的版本,为Django 1.7.1,Python 3.2,想要按照舍得讲解的实例上手练习的话,请务必与舍得所用的版本保持一致. 实例是在Windows系统下调试的,如果你采用的是非Win

实战Django:Rango Part1

在前面我们已经陆续学习了六个Django的实例,其中一个来自Django官方的文档,另外五个来自<Django Web开发指南>.舍得介绍的每一个实例,都是按照官方文档的标准,力求让大家在根据文章去做自己的实例时,能够按"文"索骥,轻松再现整个实例的制作过程. 接下来,舍得要介绍一个大型的实例,这个项目叫做Rango,它来自Django圈内口碑甚佳的<How to Tango with Django>一书.事实上,此书就是围绕Rango这一个实例来展开的,而且,

实战Django:网络相册Part1

这个实例与上个实例一样,源自<Django Web开发指南>,舍得根据Django 1.7.1的特性进行了重新编写. <Django Web开发指南>中所用的Django是1.0版,和现在的最新版本相比,有很大差异,比如通用视图.URL.静态文件的处理等等.最初做这本书的实例时,这些变化曾给舍得带来很大的困扰,还好,实例做得多了,慢慢掌握了一些规律,最终把这些实例修改成在Django 1.7.1下可以运行的版本.   1.创建项目和应用 我们先来创建本实例的项目,在dos命令提示符

django with mysql (part-1)

step01: django-admin.py startproject dj01 step02: cd dj01 tree step03: python manage.py runserver That's all of part-one

实战Django:简易博客Part1

舍得学习新技能的时候,通常不喜欢傻读书--捧着一本阐述该项技能的书籍,然后傻看,一路看下来,脑子里塞满了新的概念.知识点,头是越来越大,但技能却几乎没掌握半分. 多年来,舍得养成了用做实例来学习新技能的习惯.这可不是舍得的独创,在象棋.围棋界中,历来有"打谱"一说,就是根据棋谱,把一步步棋摆出来,在打谱的过程中,去感悟.去吸收,此时感悟到的.吸收进的,才是属于你自己的东西.新的技能就这样一步步发展起来,逐渐壮大. 就象Django官方文档那样,一个实例看起来很简单,但作为初学者,用&q

实战Django:小型CMS Part1

CMS,即Content Management System,内容管理系统.我们这里要开发的小型CMS应用,从结构上和blog应用有些类似,但我们会在这里加入一些新的技术,比如说工作流.搜索功能.编辑组件等. 1.创建项目和应用 我们先来创建本实例的项目,在dos命令提示符下转到Scripts文件夹(如"c:\python32\Scripts"),然后运行如下命令: $ django-admin startproject cmsproject 然后在dos命令提示符下继续输入如下命令,

Django tutorial part1

writing_first_django_app_part1 Creating a project 查看django版本: $ python -c "import django; print(django.get_version())" 创建工程,进入需要放置工程的目录: $ django-admin.py startproject mysite 会创建以下文件: mysite/ manage.py mysite/ __init__.py settings.py urls.py wsg

Django——如何在Django模板中注入全局变量?——part1

问题:TEMPLATE_CONTEXT_PROCESSORS代表着什么? 问题描述:无法在项目的settings.py文件中找到TEMPLATE_CONTEXT_PROCESSORS. ————————————————————正文———————————————————— 我们在做一些网站项目的时候,可能会遇到需要把某个全局变量注入到所有页面的情况,比如我们做一个在线商城,那么可能需要将用户的资料:比如用户的账号.用户的姓名等注入到每个页面里面. TeamCola中每个页面右上角都会出现的用户名

Django 1.10文档中文版Part1

目录 第一章.Django1.10文档组成结构1.1 获取帮助1.2 文档的组织形式1.3 第一步1.4 模型层1.5 视图层1.6 模板层1.7 表单1.8 开发流程1.9 admin站点1.10 安全性1.11 国际化和本地化1.12 性能和优化1.13 Python兼容性1.14 地理框架1.15 常用WEB应用工具1.16 其它核心功能1.17 Django开源项目 第二章.起步2.1 Django速览 2.1.1 设计你的模型model 2.1.2 安装model 2.1.3 使用AP