1 搭建环境

sudo apt-get install python3-pip   安装pip3
sudo pip3 install virtualenv 安装虚拟环境
virtualenv -p python3 DjangoEnv 新建虚拟环境
source DjangoEnv/bin/activate 进入虚拟环境
pip freeze 查看安装列表
pip install django==1.11 安装django
配置python的解释路径
settings 配置
找到虚拟环境下python3解释路径,选择python3解释器

2 创建项目及数据库

create databases django   创建django数据库
django-admin startproject DjangoProject 创建项目名
manage.py
__init__.py
settings.py
urls.py
wsgi.py
templates #在settings配置数据库
DATABASES = {
'default':{
'ENGINE':'django.db.backends.mysql',
'NAME':'数据库名',
'USER':'用户名',
'PASSWORD':'用户密码'
'HOST':'数据库服务器IP',
}
}
#注:进入mysql中,添加账户密码: grant all on *.* to 'django'@'%' identified by '123456'

3 创建App运用并配置

#开启项目myApp
python manage.py startapp myApp
#配置app
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.messages',
'django.contrib.staticfiles',
'myApp'
]

4 设计model表结构

#一张表对应一个类,表的设计与关联直接关系到后续代码的质量
class Student(models.Model): #定义一个student模型
gname = models.CharField(max_length=20)
gdate = models.DateTimeField()
....
class Grades(models.Model):
sgender = models.BooleanField()
sage = models.IntegerField()
isDelete = models.BooleanField(default = False)
sgrade = models.ForeignKey('Grades') #年级一对多学生设置外键

5 执行迁移文件

python manage.py makemigrations APP名  生成迁移文件
python manage.py migrate App名 执行迁移文件

6 启动django服务器

python manage.py runserver    启动服务器
或者 python manage.py runserver 8080
#注意runserver开启之后进行下一项目记得及时关闭
#python manage.py runserver 0.0.0.0:8000 任何ip都能访问

7 对数据库简单的操作

#增加
创建对象:
grade1 = Grades()
添加数据:
grade1.gname = 'tom'
grade1.gdate = datetime(year = 2017,month=7,day=17)
grade1.ggirlnum = 3
grade1.gboynum = 50
保存数据:
grade1.save() #删除
模型对象.delete()
grade2.delete() #修改
模型对象.属性 = 新值
grade1.gboynum = 60
grade1.save() #保存 #查找
类.objects.all() 查看全部
类.objects.get(pk=n) 查看指定
类.objects.exclude(field=value) 排除指定
查询 Student.objects.[all,filter,get,exclude,last,first,latest](查询条件)
查询字段__[lt,gt,lte,gte,contains,isnull,in,endswith,startswith]

8 创建模板templates

#settings中修改TEMPLATES
DIRS = [os.path.join(BASEDIR,'templates')] #设置对应的templates对应app的跳转html页面

9 app下添加子路由urls.py

#项目下的根路由

from django.conf.urls import url,include    #导入urls中url与include
from django.contrib import admin #导入admin urlpatterns = [
url(r'^admin/',admin.site.urls), #获取默认的admin首页
url(r'^firstApp/$',include('myApp.urls'))
#以firstApp作为匹配获取myApp新建的urls中新建首页
] #应用下的子路由
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$',views.index), #当匹配为空时显示views中的index页面 hello django
url(r'^(\d+)/(\d+)',views.detail), #当匹配到类似/20/30时,显示views中detail函数
]

10 关联表查询

#ForeignKey  外键
一对多访问: 对象.模板类小写_set
grade.students_set.属性
多访问一: 对象.模板类小写.属性
Students.objects.get(pk=2).grades.gname #OneToOne
用一对一访问被关联对象:
对象.被关联class小写
grade.students.sname
一对一反向查询:
对象名.关联对象类名小写.属性
students.grades.gname #ManyToMany
多对多访问
对象.关联字段
多对多反向查询: manyTo many
对象.被关联对象class小写_set

当然上述过程只适合新手理清楚django整体的项目流程,实际开发以实际为准.

django搭建简单开发项目流程(一)的更多相关文章

  1. PyCharm社区版+Django搭建web开发环境-2

    接上一篇:PyCharm社区版+Django搭建web开发环境-1 1. 创建好django项目并建立app应用:web 2. setting.py:配置app应用 INSTALLED_APPS = ...

  2. python +Django 搭建web开发环境初步,显示当前时间

    1.python 的安装 网上很多关于django跟python 开发的资料,这块我正在实习准备用这个两个合起来搞一个基于web 的东西出来现在开始学习,写点东西记录一下心得. 开发环境是window ...

  3. 简单搭建iOS开发项目框架

    今天我们来谈谈如何搭建框架,框架需要做一些什么. 第一步:找到我们的目标我们的目标是让其他开发人员拿到手后即可写页面,不再需要考虑其他的问题. 第二步:我们需要做哪些东西各位跟着我一步一步来进行. 假 ...

  4. python关于Django搭建简单博客项目(详解一)

    上一篇我们说了如何搭建简易博客网站,下面我们来进行详细解答.本文没有特定顺序,请结合上一篇和源代码参照学习. 相关源代码和解析请参看:https://github.com/Cheng0829/mysi ...

  5. python关于Django搭建简单博客项目(教程)

    由于csdn各种django blog博文都有或多或少的bug,所以我决定自己写一篇,先附上教程,详解在另一篇博文里,为了便于大家复制粘贴,本文代码尽量不使用图片. 源代码及解析文章请在我的githu ...

  6. python关于Django搭建简单博客项目 详解二-setting.py

    这一篇我们来讲解setting.py,具体内容以注释形式写入到下面的setting.py代码中,篇幅所限已把官方所给英文注释删除. 全部源代码和详解请参看http://github.com/Cheng ...

  7. java maven、springmvc、mybatis 搭建简单Web项目学习笔记

    前言: 空余的时间,学学 Java,没准哪天用的到: 环境搭建折腾了好几天,总算搞顺了,也做个学习笔记,以防后面会忘记: 一.安装文件及介绍 JDK:jdk1.8.0 77 eclipse-maven ...

  8. Python学习笔记24:Django搭建简单的博客站点(二)

    上一节说道怎样使用Django创建并执行一个项目.这节说怎样加入一个博客应用. 一 项目跟应用的关系 在加入应用之前,先来看看项目与应用之间有什么不同之处呢? 项目是针对一个特定的 Web 站点相关的 ...

  9. PyCharm社区版+Django搭建web开发环境-1

    PyCharm开源社区版不像商业版那样可以直接通过Django来创建项目,必须通过以下几个步骤进行: 1. 创建项目:在cmd命令行下输入:django-admin startproject Demo ...

随机推荐

  1. SCU - 4439 最小点覆盖

    题意:求最小的染色顶点数满足所有的边至少有个一端点被染色 2015四川省赛,过题数17/120+,还以为是什么难题,这不就是裸的二分图最小点覆盖吗.. 掏出了尘封一年的破板子 #include< ...

  2. [八分之一的男人]POJ - 1743 后缀数组 height分组 带详解

    题意:求最长不可重叠的相同差值子串的长度 这道题算是拖了好几个月,现在花了点时间应该搞懂了不少,尝试分析一下 我们首先来解决一个退化的版本,求最长不可重叠的相同子串(差值为0) 比如\(aabaaba ...

  3. eclipse 安装 scala

    1.官网下载地址 http://scala-ide.org/download/current.html 目前最新的版本 http://download.scala-ide.org/sdk/lithiu ...

  4. drf之视图

    一.视图(视图函数) Django REST framwork 提供的视图的主要作用: 控制序列化器的执行(检验.保存.转换数据) 控制数据库查询的执行 1.请求与响应 1.request REST ...

  5. Bootstrap 斜体、文本对齐、缩略图、地址、列表等

    目录1.标题2.页面主体3.强调    a.小号文本    b.着重    c.斜体    d.对齐class    e.强调class4.缩略语5.地址6.列表    a.无序列表    b.有序列 ...

  6. mysql中字段类型是datetime时比较大小问题

    select sum(studychj) as tofflinejz from afterline where studybegin >= '2010-01-01 00:00:00' and s ...

  7. Linux服务器性能评估与优化--转

    http://www.itlearner.com/article/4553 一.影响Linux服务器性能的因素 1. 操作系统级 Ø       CPU Ø       内存 Ø       磁盘I/ ...

  8. nginx 导致文件上传中途中断 Failed to load resource: net::ERR_CONNECTION_RESET

    昨天上传文件出了问题,常常在进度条到一半的时候就终止了.在本地测试的时候倒是没问题,今天早上用花生壳换了另一个域名,在我本地和服务器都测试,却能够上传文件成功.然后就想到了可能是nginx的问题,也在 ...

  9. Android活动的启动模式

    1. standard 标准模式,是活动默认的启动模式,在不进行显示指定的情况下,所有活动都会自动使用这种模式. Android使用返回栈管理活动,在standard模式下,每当启动一个新的活动,它就 ...

  10. 2017年11月4日 vs类和结构的区别&哈希表&队列集合&栈集合&函数

    类和结构的区别 类: 类是引用类型在堆上分配,类的实例进行赋值只是复制了引用,都指向同一段实际对象分配的内存 类有构造和析构函数 类可以继承和被继承 结构: 结构是值类型在栈上分配(虽然栈的访问速度比 ...