基本命令

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之常用命令以及问题汇总的更多相关文章

  1. web 架构 /http协议,状态码,django中常用命令

    什么是web应用? web应用 架构 :B/S架构 | C/S架构 网站:BS架构其实就是应用程序: B是浏览器 S是sever(实现了wsgi协议,实现了socket的服务端) + applicat ...

  2. Django中常用命令

    Django 基本命令 熟练使用Django常用命令能让你事半功倍!!!! 1. 新建一个 django project django-admin.py startproject project-na ...

  3. Linux常用命令速查-汇总篇

    Linux常用命令速查-用户管理 Linux常用命令速查-文件管理 Linux常用命令速查-系统监控 Linux常用命令速查-网络管理 Linux常用命令速查-定时任务 Linux常用命令速查-Vim

  4. Django - Python3 常用命令

    1.创建Django 项目 执行命令 django-admin.py startproject project_name 2.创建app 执行命令 注意:要先进入项目目录下,cd project_na ...

  5. django 之 常用命令

    Django 基本命令 本节主要是为了让您了解一些django最基本的命令,请尝试着记住它们,并且多多练习下 1. 新建一个 django project django-admin.py startp ...

  6. repo常用命令及常见问题汇总

    1.执行repo命令的时候,总是显示“project xx no found” 解决: (1)先执行“repo forall -c pwd” 显示所有project的路径,按照这个来写project参 ...

  7. 20145222《信息安全系统设计基础》Linux常用命令汇总

    学习Linux时常用命令汇总 通过Ctrl+f键可在该网页搜索到你想要的命令. Linux中命令格式为:command [options] [arguments] //中括号代表是可选的,即有些命令不 ...

  8. GIT 版本控制常用命令学习汇总

    GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help <command> 获取指定命令帮助信息 git c ...

  9. Oozie命令行常用命令汇总[转]

    Oozie命令行常用命令汇总 有时候脚本跑多了就不愿意在OozieWeb端去看脚本的运行情况了.还好Oozie提供了很多命令行命令.能通过命令行直接检索自己想看到的脚本信息.在这里简单进行一下总结.一 ...

随机推荐

  1. Java集合入门

    内容: 1.认识集合 2.Iterator迭代器 1.认识集合 (1)什么是集合 前面的学习,我们知道数据多了,使用数组存放.而且数组中存放的都是基本类型的数据,并且数组是定长的. 当在程序中创建的对 ...

  2. MS SQL Server 定时任务实现自动备份

    SQL Server Express 版本是没有SQL 代理服务的,从而导致不能使用SQL Server的定时自动备份功能.真心感觉这就是一个坑,虽然Express是学习的版本,但是精简的也太多了.另 ...

  3. Static / Const 的概念

    C/C++/Java Static / Const 的概念 这里以C为准,其他语言类似. Static变量是指分配不变(只可分配一次,以后再分配就无效了.)的变量 -- 它的存活寿命或伸展域可以贯穿程 ...

  4. uva140-暴力枚举

    题意:任意一个点都至少有一个点与其相连接,所有的点可以进行任意排列,总排列数为n!. 一个点带宽定义与它相连的点的最远距离,一个排列的带宽定义为,点中最大的带宽,找出带宽最小的那个排列,有多组,输出字 ...

  5. 16. orcle中replace的用法及例子

    replace 函数用法如下: replace('将要更改的字符串','被替换掉的字符串','替换字符串'); 例子: select  replace ('1,2,3',',',';') from d ...

  6. Caused by: java.lang.IllegalStateException: Expected raw type form of org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$Match

    spring 4.0.2,mybatis 3.2.6,aspectjweaver 1.8.10 使用的时候,报错: Caused by: java.lang.IllegalStateException ...

  7. 在 WampServer 上手工安装 PHP 的多个版本

    手工安装新版本的PHP,只需以下步骤: 下载要安装的PHP版本.既然是用WampServer,那当然是下载Window版本的ZIP包啦:http://windows.php.net.解压到 Wamp的 ...

  8. Spring MVC 重定向

    @RequestMapping("/testRedirect") public String testRedirect(){ System.out.println("te ...

  9. 2018.8.14-C#复习笔记总

    using System; using System.Collections.Generic; //using System.Linq; using System.Text; using System ...

  10. jemalloc for mysql

    ptmalloc 是glibc的内存分配管理 tcmalloc 是google的内存分配管理模块 jemalloc 是BSD的提供的内存分配管理 三者jemalloc和tcmalloc的性能不分伯仲, ...