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. bzoj3196 二逼平衡树 树状数组套线段树

    题目传送门 思路:树状数组套线段树模板题. 什么是树状数组套线段树,普通的树状数组每个点都是一个权值,而这里的树状数组每个点都是一颗权值线段树,我们用前缀差分的方法求得每个区间的各种信息, 其实关键就 ...

  2. Git本地缓存问题 修改密码后git无法拉取

    问题描述:使用正确的用户名和密码可以登录到Git代码仓库,但是在本地无法使用Git bash命令行的方式拉取代码. 问题原因:第一次使用Git bash方式拉取代码时,会根据当前的用户和密码生成一串. ...

  3. 基于WebImage的图片上传工具类

    支持缩略图和水印. using System; using System.IO; using System.Linq; using System.Web; using System.Web.Helpe ...

  4. ics httpDELETE 时增加 content,length 特别需求

    unit: OverbyteIcsHttpProt.pasprocedure THttpCli.SendRequest(const Method, Version: String); var Head ...

  5. .net: 泛型List<T> 轉換成 DataTable類型

    public static DataTable ListToDataTable<T>(List<T> entitys) { //检查实体集合不能为空 ) { return ne ...

  6. oracle 集群RAC搭建--环境准备

    一,环境介绍 目前我本身环境已经有DG,正在尝试重做搭建.如需完成请移步往期文章--搭建DG

  7. Json化数据-调微信接口

    // 先获取用户openid列表 List<String> openids = wxPhotoUpload.getUserOpenIdList(access_token); TreeMap ...

  8. java与C语言在字符串结束符上的区别

    综述:在C语言中字符串或字符数组最后都会有一个额外的字符‘\0’来表示结束,而在java语言中没有结束符这一概念.具体见下面分析. 1. C 语言 在C语言中字符串和字符数组基本上没有区别,都需要结束 ...

  9. unity摄像机移动滑动

    之前写了一个pc版本的 // 当按住鼠标左键的时候 //if (Input.GetMouseButton(0)) //{ // // 获取鼠标的x和y的值,乘以速度和Time.deltaTime是因为 ...

  10. 程序包com.sun.image.codec.jpeg不存在

    在pox.xml中引入依赖 <dependency><groupId>rt</groupId><artifactId>rt</artifactId ...