Django之常用命令以及问题汇总
基本命令
1、新建一个django项目
django-admin.py startproject project-name
2、新建一个app
python manage.py startapp app-name
3、同步数据库
python manage.py syncdb
注意:Django 1.7.1及以上的版本需要用以下命令
python manage.py makemigrations
python manage.py migrate
这种方法可以创建表,当你在models.py中新增了类时,运行它就可以自动在数据库中创建表了,不用手动创建。
备注:对已有的 models 进行修改,Django 1.7之前的版本的Django都是无法自动更改表结构的,不过有第三方工具south
4、运行开发服务器
python manage.py runserver 0.0.0.0:8000
5、清空数据库
python manage.py flush
此命令会询问是 yes 还是 no, 选择 yes 会把数据全部清空掉,只留下空表。
6、创建超级管理员
python manage.py createsuperuser
7、导出数据、导入数据
python manage.py dumpdata appname > appname.json
python manage.py loaddata appname.json
8、django项目环境终端
python manage.py shell
如果你安装了bpython或者ipython,会自动调用他们的界面
9、数据库执行命令
python manage.py dbshell
django会进行到settings中设置的数据库,如果是mysql或者postgresql,会要求输入用户名和密码
在这个终端可以输入sql语句
10、更多命令
在终端上输入python manage.py 回车,就可以看到详细的列表
问题收集:
生成同步数据库的脚本:python manage.py makemigrations
同步数据库: python manage.py migrate
注意:在开发过程中,数据库同步误操作之后,难免会遇到后面不能同步成功的情况,解决这个问题的一个简单粗暴方法是把migrations目录下
的脚本(除__init__.py之外)全部删掉,再把数据库删掉之后创建一个新的数据库,数据库同步操作再重新做一遍。
提示: 如若要从models里修改表,可以再次运行
python manage.py makemigrations
python manage.py maigrate

如果class里 字段没有默认值会报错,解决方式如下:
age = models.IntegerField() # 这里没写默认值
报错:You are trying to add a non-nullable field 'age' to userinfor without a default; we can't do that (the database needs something to populate existing rows).
Please select a fix:
) Provide a one-off default now (will be set on all existing rows with a null value for this column)
) Quit, and let me add a default in models.py
Select an option:
选择2退出,或者age = models.IntegerField(null=True) ; age = models.IntegerField(default=) 设置空,或者默认值
然后继续,python manage.py makemigrations
python manage.py migrate
对Django数据库操作的记录都在这:

使用Model对数据库进行增删改查:
1、views.py 访问index路径时,执行这个添加的函数
def index(req):
    from app_01 import  models
   #增
    # models.UserGroup.objects.create(title='销售部')
    # models.UserInfor.objects.create(user='root',password='pwd',age=18,ug_id=1)
    #查
   # group_list = models.UserGroup.objects.all()
  #group_list = models.UserGroup.objects.filter(id=1)
  # print(group_list)  
  #  这里代码是从上至下执行,filter 是筛选器,配合了不起的 双下划线 __
  #group_list = models.UserGroup.objects.filter(id__gt=1).first() #只取第一个
  #group_list = models.UserGroup.objects.filter(id__lt=1)
#删除
# group_list = models.UserGroup.objects.filter(id=1).delete()
#改
group_list = models.UserGroup.objects.filter(id=1).update(title='打鸟不')
group_list = models.UserGroup.objects.all()
#group_list QuerySet类型(列表)
#QuerySet类型[obj,obj,obj]
# print(group_list)
#for i in group_list:
# print(i.id,i.title)
#return HttpResponse("....ok") #这里将数据显示到了后台
return render(req,'newindex.html',{'group_list':group_list}) #这里将数据显示到前端
2、urls.py 和 index.html
urlpatterns = [
url(r'index/',views.index)
} #路由系统
------------------------------------------------------------
{% for row in group_list %}
    <li>
        {{ row.id }}----{{ row.title }}
    </li>
{% endfor %}  #前端遍历代码
3、models.py 外键约束
# Create your models here.
from django.db import models
class UserGroup(models.Model): title = models.CharField(max_length=) #一个部门可以对应多个用户
# 一 对 多, 多的表 添加外键 class UserInfor(models.Model):
nid = models.BigAutoField(primary_key=True)
user = models.CharField(max_length=)
password = models.CharField(max_length=)
age = models.IntegerField(default=)
ug = models.ForeignKey("UserGroup",null=True)
#默认生成一个 ug_id 外键列
4、查看数据库多了‘销售部’了吗


成功添加
类代指表,对象代指数据
Django之常用命令以及问题汇总的更多相关文章
- web 架构 /http协议,状态码,django中常用命令
		什么是web应用? web应用 架构 :B/S架构 | C/S架构 网站:BS架构其实就是应用程序: B是浏览器 S是sever(实现了wsgi协议,实现了socket的服务端) + applicat ... 
- Django中常用命令
		Django 基本命令 熟练使用Django常用命令能让你事半功倍!!!! 1. 新建一个 django project django-admin.py startproject project-na ... 
- Linux常用命令速查-汇总篇
		Linux常用命令速查-用户管理 Linux常用命令速查-文件管理 Linux常用命令速查-系统监控 Linux常用命令速查-网络管理 Linux常用命令速查-定时任务 Linux常用命令速查-Vim 
- Django - Python3 常用命令
		1.创建Django 项目 执行命令 django-admin.py startproject project_name 2.创建app 执行命令 注意:要先进入项目目录下,cd project_na ... 
- django 之 常用命令
		Django 基本命令 本节主要是为了让您了解一些django最基本的命令,请尝试着记住它们,并且多多练习下 1. 新建一个 django project django-admin.py startp ... 
- repo常用命令及常见问题汇总
		1.执行repo命令的时候,总是显示“project xx no found” 解决: (1)先执行“repo forall -c pwd” 显示所有project的路径,按照这个来写project参 ... 
- 20145222《信息安全系统设计基础》Linux常用命令汇总
		学习Linux时常用命令汇总 通过Ctrl+f键可在该网页搜索到你想要的命令. Linux中命令格式为:command [options] [arguments] //中括号代表是可选的,即有些命令不 ... 
- GIT 版本控制常用命令学习汇总
		GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help <command> 获取指定命令帮助信息 git c ... 
- Oozie命令行常用命令汇总[转]
		Oozie命令行常用命令汇总 有时候脚本跑多了就不愿意在OozieWeb端去看脚本的运行情况了.还好Oozie提供了很多命令行命令.能通过命令行直接检索自己想看到的脚本信息.在这里简单进行一下总结.一 ... 
随机推荐
- ORACLE中index的rebuild(转)
			Oracle里大量删除记录后,表和索引里占用的数据块空间并没有释放. table move可以释放已删除记录表占用的数据块空间,整理碎片.如果将表格用move方式整理碎片后,索引将失效,这时需要将索引 ... 
- python并发编程之多进程理论部分
			原文连接:http://www.cnblogs.com/linhaifeng/articles/7430066.html#_label4 一 什么是进程 进程:正在进行的一个过程或者说一个任务.而负责 ... 
- ECCV 2018 | 给Cycle-GAN加上时间约束,CMU等提出新型视频转换方法Recycle-GAN
			CMU 和 Facebook 的研究者联合进行的一项研究提出了一种新型无监督视频重定向方法 Recycle-GAN,该方法结合了时间信息和空间信息,可实现跨域转换,同时保留目标域的风格.相较于只关注空 ... 
- MAN 手册各章节功能介绍及快捷键键位整理
			前言 Man 手册页(Manua pages ,缩写man page) 是在linux操作系统在线软件文档的一种普遍形式.内容包括计算机程序库和系统调用等命令的帮助手册. 手册页是用troff排版 ... 
- Flask 进阶二
			flask中的路由系统: endpoint:反向url地址,默认为视图函数名(url_for). from flask import Flask,url_for app = Flask(__name_ ... 
- Java 中 HashMap 初始化时赋值
			1.HashMap 初始化的文艺写法 HashMap 是一种常用的数据结构,一般用来做数据字典或者 Hash 查找的容器.普通青年一般会这么初始化:HashMap<String, Strin ... 
- 一种思路,隐藏input标签,通过label关联
			<label class="btn btn-default btn-file">上传图片 <input hidden type="file" ... 
- Hive 简介
			hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行. 其优点是学习成本低,可以通过 ... 
- Simple2D-18(音乐播放器)使用 bass 音频库
			BASS 简介 BASS是一个在多个平台上用于软件的音频库.其目的是为开发人员提供功能强大且高效的示例流(MP3,MP2,MP1,OGG,WAV,AIFF),MOD 音乐(XM,IT,S3M,MOD ... 
- WP runtime local setting
			https://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.applicationdata.localsettings. ... 
