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. [JLOI2015]管道连接(斯坦纳树)

    [Luogu3264] 原题解 多个频道,每个频道的关键点要求相互联通 详见代码,非常巧妙 #include<cstdio> #include<iostream> #inclu ...

  2. express运行www后,在http://localhost:3000/查看返回会报 Cannot find module 'jade'

    解决方法:npm install --save express jade

  3. 03-树3 Tree Traversals Again (25 分)

    An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example ...

  4. 带OUTPUT的增删改

    sql server2005以后引入: 执行的sql语句中加入output可以事实输出处理的内容 go --插入并返回每行的插入值 DECLARE @NewRows TABLE(Id INT ,NAM ...

  5. Json 序列化为Dictionary

    如下所示的json字符串中包含中文属性转换成英文属性 ["sid":"dd1312","success":true,"data&q ...

  6. Docker镜像命名解析

    镜像是Docker最核心的技术之一,也是应用发布的标准格式. 无论你是用docker pull image,或者是在Dockerfile里面写FROM image, 从Docker官方Registry ...

  7. Ubuntu安装Docker步骤

    环境:Ubuntu Trusty 14.04 (LTS) 前提条件: Docker requires a 64-bit installation regardless of your Ubuntu v ...

  8. 构建标准OpenStack API接口文档

    1.构建API接口文档标准参考: http://docs.openstack.org/contributor-guide/api-guides.html 2.构建API接口文档步骤参考下面的Patch ...

  9. VMware虚拟机上安装xp操作系统

    前提:安装好虚拟机 资料:windows xp 的虚拟机操作系统 上面这个文件最好保存好一份,防止以后虚拟机用坏了可以重新安装. 1 新建目录D:\virtual machine\vSQL\vm将我们 ...

  10. unity消息队列

    解决一些当一些消息事件需要处理时,但是 相应的系统还没有初始化来解决的问题 每个系统执行层也有一个消息队列,这样系统没有做好初始化,不执行就好了. 参考:http://blog.csdn.net/ws ...