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都会自动创建它mysite/__init__.py #告诉Python mysite是一个packagesettings.py #配置django projecturls.py #django project中的urlwsgi.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__.pyadmin.pymigrations/__init__.pymodels.pytests.pyviews.py

    创建使用database的web app,第一步就是创建model,在models.py文件里添加继承自models.Model的类,

    #polls/models.pyclass 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)

    然后通过配置settings.py的INSTALLED_APPS对象把polls app插入到django.这样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(这种情况是添加了新model),要把改动存到migration,migration是存放model改动的磁盘文件,如polls/migrations/0001_initial.py,其内容是一个migration class.使用manage.py sqlmigrate polls 0001可以查看migration执行的sql 命令,只是查看命令并不执行命令。在数据库中创建model table需要执行manage.py migrate,该命令会对所有未执行migrate的migration执行migrate.django会在数据库中建一张django_migrations表跟踪哪些migrate了.总结更改model的三个步骤:

    • 在models.py中更改model

    • 运行manage.py makemigrations为更改创建migration

    • 运行manage.py migrate 数据库中应用更改

  8. 将models在数据库中创建后,可以在命令行里操作这些model.启动命令行要使用manage.py shell而不是用python命令,因为manage.py shell会设置环境变量DJANGO_SETTINGS_MODULE=mysite.settings.py.

    import os
    print(os.environ['DJANGO_SETTINGS_MODULE'])
    #mysite.settings

    之后可以在命令行里操作model,model的改动也可以通过save()函数保存到数据库中

posted on 2014-09-22 22:40 哨兵 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/phenixyu/p/3987197.html

Django(1.7 part1)相关推荐

  1. 11. django多表查询part1

    django多表查询part1 一.多表操作之模型创建 1.多张表的关系: 2. models.py中建立出来 3.同步到mysql数据库 4. 注意点: 二.一对多添加表记录 三.多对多添加.修改. ...

  2. “全能”选手—Django 1.10文档中文版Part1

    欢迎大家访问我的个人网站<刘江的博客和教程>:www.liujiangblog.com ### 主要分享Python 及Django教程以及相关的博客 本文是博主翻译的Django1.10 ...

  3. Django从理论到实战(part1)--虚拟环境

    课堂笔记,仅供参考 参考自用户:hynever(有道) 文章目录 虚拟环境 为什么需要虚拟环境 虚拟环境原理 安装 virtualenv 创建虚拟环境 进入虚拟环境 退出虚拟环境 举个例子 虚拟环境 ...

  4. Django(part1)--Django介绍与安装

    学习笔记,仅供参考 文章目录 Django框架 Django框架介绍 安装与卸载 举个例子 Django框架 Django框架介绍 Django框架是采用Python语言编写的开源框架,早期用于新闻和 ...

  5. python+django+vue搭建前后端分离项目Part1

    文章目录 Python环境搭建 安装django框架 创建django项目 新建static静态文件夹 创建django App(后端) 创建vue项目(前端) 集成vue项目到django 打包vu ...

  6. django 学习笔记(一)

    2019独角兽企业重金招聘Python工程师标准>>> 再一次开始了django的学习,希望这次能够因为实际应用的开发深入进去. 安装 django开发环境搭建文档 版本 1.5.5 ...

  7. 02繁花嗅Django笔记

    web框架其实都是在处理把大象塞进冰箱里 docs.djangoproject.com/en/1.9 Part1": request(客户=>网站)代表信息进入 response(网站 ...

  8. Scrapy应用:爬取笑话网+Django构建应用

    Part1:需求简要描述 1.抓取http://www.jokeji.cn网站的笑话 2.以瀑布流方式显示 Part2:安装爬虫框架Scrapy1.4 1. 安装Scrapy1.4 E:\django ...

  9. Python入门自学进阶-Web框架——16、Django登录/注册

    以抽屉为原型,实现用户的注册和登录. 基本的界面: 第一个知识点:自动发送验证码到邮箱,也就是实现自动发送邮件的功能: 要自动给别人发送邮件,首先要有自己的邮箱,msg["From" ...

最新文章

  1. 求最大值_Excel求最大值地球人都知道,那要求出第2、第3、第N大值呢?
  2. JSON.parse(text[, reviver])
  3. JZOJ 5230. 【NOIP2017模拟A组模拟8.5】队伍统计
  4. 苹果手机咋截屏_才知道,苹果手机轻点2下就能截屏,还支持长截图厉害了
  5. windos系统快捷键 2015-05-08 23:31 24人阅读 评论(0) 收藏...
  6. 微型计算机没什么总线,微型计算机系统总线包括什么?
  7. matlab grp2idx,求教:m-fold cross validation 在matlab下如何实现?
  8. as-conformal-as-possible discrete volumetric mapping
  9. python发送微信消息_python 发送QQ或者微信消息
  10. Eclipse ADT插件和主题
  11. 使用API Monitor监测到目标程序对系统API函数的调用(常用分析工具)
  12. 卧槽!AI 质检竟然还能这么玩???
  13. 霍夫曼编码和LZ编码
  14. 输入一个英文星期的前两个字姆,输出中文星期
  15. Java GC机制
  16. 《策略投资》第1、2章读书分享
  17. 为什么不是每个人都过着他梦想中的生活呢?
  18. 超25万美元,乔布斯亲笔签名版Apple-1被拍卖
  19. 智能农业大棚监控系统开发
  20. 计算机控制交通灯实验报告,PLC实验专用周实验报告 交通灯

热门文章

  1. select, poll, epoll
  2. easyui 图标_logo设计和图标设计有哪些不同?
  3. (100)FPGA RAM实现(V实现)
  4. (20)Zynq FPGA Quad-SPI闪存控制器介绍
  5. CButton相关函数介绍
  6. python菜单栏_Python(Tkinter)创建的菜单不会显示
  7. c语言tcp读写二进制文件,通过TCP/IP连接发送二进制文件
  8. STM32学习——ROV遇到的坑
  9. 数据结构之树的定义及操作
  10. 当集合a为空集时a的取值范围_1.2 集合间的基本关系20202021学年高一数学新教材配套学案(人教A版必修第一册)...