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添加主题.修改标题页脚和收起左侧菜单 # ...
随机推荐
- c++三维静态数组的定义与作为函数的传递
在c++中,我们可以定义三维数组,并且可以将之作为参数直接传递. 定义: #include <iostream> #include <windows.h> using name ...
- c++中的复合类型
复合类型是指基于其他类型而定义的类型. 而这里介绍的是引用和指针.并且指针和引用都提供了对其他对象的间接访问. 引用 引用还是很好理解的,就是为对象起了另外一个名字,引用类型引用另外一种类型. 通常将 ...
- Shell 流程控制 if while for
if else if if 语句语法格式: if condition then command1 command2 ... commandN fi 写成一行(适用于终端命令提示符): if [ $(p ...
- Android_OnLowMemory和OnTrimMemory
Android OnLowMemory和OnTrimMemory OnLowMemoryOnLowMemory是Android提供的API,在系统内存不足,所有后台程序(优先级为background的 ...
- JavaScript -- FileSystemObject-文件
-----058-FileSystemObject-文件.html----- <!DOCTYPE html> <html> <head> <meta http ...
- java学习-加载.properties工具类
javaWeb项目,要加载xxx.properties或其它如.txt, .md后缀的文本文件 文本内容有两种格式 key:value或者key=value 诸如Spring框架,Jfinal框架,都 ...
- Hibernate的执行流程和集合的映射关系
Hibernate的执行流程 集合映射 准被hibernate的运行环境 配置hibernate.cfg.xml主配置文件 1.Set集合 写User.java类 package com.gqx.co ...
- Qt5——从零开始的Hello World教程(Qt Creator)
简单Qt教程 一.打开Qt Creator 本次的目的是用Qt Creator建立一个Hello World项目,在安装Qt之后,首先要打开Qt Creator. 就是它啦,打开后会显示如下页面. 二 ...
- Tomcat学习总结(11)——Linux下的Tomcat安全优化
1.web.xml配置及修改: 站点默认主页: <welcome-file-list> <welcome-file>index.html</welcome-file> ...
- C指针与内存
C指针与内存 指针是C / C++ 中重要的构造类型,指针赋予了C / C++程序直接访问和修改内存的能力.C / C++的许多重要应用,如编译.OS.嵌入式开发都依赖于这种能力. 冯诺依曼体系的计算 ...