Python Django框架笔记(二):创建应用和django 管理
#前提是已经创建项目
(一) 创建应用
使用命令,在项目中创建一个应用(blog自定义)
python manage.py startapp blog
创建完成后,可以看到下面几个文件

|
文件名 |
说明 |
|
migrations |
修改数据库表结构记录 |
|
__init__.py |
告诉Python这是一个包 |
|
admin.py |
模型要在Django的管理工具中显示,必须在这个文件中注册模型 |
|
apps.py |
配置当前APP |
|
models.py |
数据模型 |
|
tests.py |
单元测试 |
|
views.py |
视图函数(即MVC中的控制器) |
(二) 添加模型类
models.py添加模型类
class BlogPost(models.Model):
title = models.CharField(max_length=150)
body = models.TextField()
timestamp = models.DateTimeField()
https://docs.djangoproject.com/en/dev/ref/models/fields/#field-types 这里可以查看完整的字段类型
(三) 配置setting.py文件
INSTALLED_APPS列表中增加应用名称

配置数据库连接:找到DATABASES 字典

(四) 建表、查看建表SQL
依次运行下面2个命令(建表/更新表结构)
python manage.py makemigrations blog (告诉Django模型已经做了修改,并希望更新/创建对应的表结构,这个命令运行后,migrations文件夹下会出现一条记录)
python manage.py migrate (建表/更新表结构,会自动根据模型创建对应的表。如果是Django自带的应用,直接执行这个命令建表就行了)
查看建表SQL:
python manage.py sqlmigrate blog 0001 (查看建表SQL)

(五) 使用django管理
(1) 创建管理员账号:执行下面的命令创建用户
python manage.py createsuperuser
(2) http://localhost:8000/admin/ 登录

(六) 注册模型(注册后django 管理中才能测试这个模型)
(1) admin.py文件添加下面的代码
from blog.models import BlogPost
# Register your models here.
#设置管理工具中视图显示内容
class BlogPostAdmin(admin.ModelAdmin):
list_display = ('title','timestamp')
#注册模型BlogPost
admin.site.register(BlogPost,BlogPostAdmin)
(2) 在管理工具中测试



数据库应该可以看到创建的数据:

Python Django框架笔记(二):创建应用和django 管理的更多相关文章
- Python Django框架笔记(三):django工作方式简单说明和创建用户界面
(一) 说明 简单说明下django的工作方式,并举2个例子. (二) Django工作方式 假定我们有下面这些文件 ,这里在前2篇的基础上增加了 templates目录(存放html文件) 和s ...
- Django框架(二十八)—— Django缓存机制
目录 Django缓存机制 一.什么是缓存 二.Django的6中缓存方式及配置(只需要改配置文件) 1.开发调试缓存(此模式为开发调试使用,实际上不执行任何操作) 2.内存缓存(将缓存内容保存至内存 ...
- Django框架(二十六)—— Django rest_framework-分页器与版本控制
目录 分页器与版本控制 一.三种分页器 二.分页器 1.普通分页(PageNumberPagination) 2.偏移分页(LimitOffsetPagination) 3.加密分页(CursorPa ...
- Django框架(二十四)—— Django rest_framework-视图组件
目录 视图组件 一.基本视图 二.自定义的封装视图 三.利用mixin类和generice类编写视图 1.使用 2.源码 四.利用generics 下的ListCreateAPIView,Retrie ...
- Django框架(二十四)-- Django rest_framework-路由控制与响应器
一.路由控制 # 1.基本路由: url(r'^publish/$', views.PublishView.as_view()), # 2.半自动路径:views.PublishView.as_vie ...
- Django框架(二十五)—— Django rest_framework-路由控制与响应器
路由控制与响应器 一.路由控制 # 1.基本路由: url(r'^publish/$', views.PublishView.as_view()), # 2.半自动路径:views.PublishVi ...
- Django学习笔记二
Django学习笔记二 模型类,字段,选项,查询,关联,聚合函数,管理器, 一 字段属性和选项 1.1 模型类属性命名限制 1)不能是python的保留关键字. 2)不允许使用连续的下划线,这是由dj ...
- django框架使用及创建项目
一.django框架使用及创建项目 (1)创建Django项目 1>在cmd命令行下输入:django-admin startproject RecourceRegist(进入相应路径下) 2& ...
- Django开发笔记二
Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.xadmin添加主题.修改标题页脚和收起左侧菜单 # ...
随机推荐
- linux文件权限说明
# ll total 0 drwxr-xr-x. 2 root root 6 Aug 28 11:07 test1 drwxr-xr-x. 2 root root 6 Aug 28 11:07 tes ...
- Redis学习系列五Set(集合)
一.简介 Redis中的Set(集合)相当于C#中的HashSet,它内部的键值对时无序的.唯一的.用过Dictionary的都知道,Dictionary都知道,里面的每个键值对肯定是唯一的,因为键不 ...
- Linux安装codis
codis用go语言开发的,安装前记得先安装go开发环境,Linux安装go语言开发包 前提条件:记得安装git,否则无法下载go语言开发包 1.建立一个go语言的工作目录创建目录:sudo mkdi ...
- TensorFlow的梯度裁剪
在较深的网络,如多层CNN或者非常长的RNN,由于求导的链式法则,有可能会出现梯度消失(Gradient Vanishing)或梯度爆炸(Gradient Exploding )的问题. 原理 问题: ...
- Tomcat学习总结(12)—— Tomcat集群配置
现目前基于javaWeb开发的应用系统已经比比皆是,尤其是电子商务网站,要想网站发展壮大,那么必然就得能够承受住庞大的网站访问量:大家知道如果服务器访问量过大,就会出现服应用务器崩溃的情况,这个时候怎 ...
- OOAD理论知识小结
软件工程基本概念 软件工程三要素: 方法:完成软件开发的各项任务的技术方法,为软件开发提供 “如何做” 的技术 工具:为运用方法而提供的自动的或半自动的软件工程的支撑环境 过程:为了获得高质量的软件所 ...
- java设计模式-菜鸟网络
http://www.runoob.com/design-pattern/singleton-pattern.html
- Linux入门练习2
export命令用来设置环境变量. 使用单引号时,变量不会被扩展,将依照原样显示.示例: 如果变量未定义过,则什么都不打印: 获得变量值长度 识别当前所使用得shell: 检查是否为超级用户: UID ...
- Git学习笔记3
git checkout 命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况: 一种是readme.txt自修改后还没有 ...
- 百度前端学院task33源码及总结——听指令的小方块
任务描述 如图,实现一个类似棋盘的格子空间,每个格子用两个数字可以定位,一个红正方形的DOM在这个空间内,正方形中的蓝色边表示这是他的正面,有一个input输入框 在输入框中允许输入如下指令,按下按钮 ...