一、

(1)使用idea生成一个python项目,安装Django框架:

pip install django==1.8.2

(2)初始化项目:

django-admin startproject xxx //xxx为项目名称

(3)初始化应用:

python manage.py startapp xxx //xxx为应用名称

(4)在settings.py中注册刚生成的应用:

INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'home', //这是我们刚生成的应用
)

(5)测试项目是否可以正常启动:

python manage.py runserver IP:端口

浏览器访问如下:

PS:Django默认使用的是sqlite3数据库,可以根据model生成数据库表,生成的文件在migrations目录下:

(1)我们先在model中写一个测试类:

from django.db import models
# Create your models here.
#学生类
class StuUser(models.Model):
'''学生模型类'''
#照片
studentName = models.CharField(max_length=255)
studentNumber = models.CharField(max_length=255)
picture = models.CharField(max_length=255)
phoneNumber = models.CharField(max_length=255)
address = models.CharField(max_length=255)
createDate = models.DateTimeField()
updateDate = models.DateTimeField()

(2)终端运行如下指令:

python manage.py makemigrations

运行后可以发现migrations目录下多了一个0001_initial.py文件,就是我们model的迁移文件:

# -*- coding: utf-8 -*-
from __future__ import unicode_literals from django.db import models, migrations class Migration(migrations.Migration): dependencies = [
] operations = [
migrations.CreateModel(
name='StuUser',
fields=[
('id', models.AutoField(verbose_name='ID', primary_key=True, serialize=False, auto_created=True)),
('studentName', models.CharField(max_length=255)),
('studentNumber', models.CharField(max_length=255)),
('picture', models.CharField(max_length=255)),
('phoneNumber', models.CharField(max_length=255)),
('address', models.CharField(max_length=255)),
('createDate', models.DateTimeField()),
('updateDate', models.DateTimeField()),
],
),
]

然后再运行如下指令:

 python manage.py migrate

此时就会生成一个db.sqlite3文件,这是一个小型数据库,我们需要安装一个工具才能有可视化数据库界面,由于项目使用的是mysql数据库,后续需要更改对应数据库配置,此处不过多赘述

二、django整合mysql

(1)django完成视图搭建:(注意项目结构,我使用的idea生成的项目,需要删除一层,使项目结构如下:)

 其中homework为项目,home是我们运行如下指令初始化的应用:(一定要注意)

 python manage.py startapp home

首先,我们在settings.py配置文件的TEMPLATES->DIRS中添加如下代码:(指定模板路径)

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR,'templates')],//指定模板路径
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]

应用中新建对应路径的文件夹做为我们的view模板渲染层,进行前后端分离的项目就不需要这些操作了

home应用中的urls.py配置路由(默认生成的home应用没有urls.py,从项目homework中复制一份):

from django.conf.urls import  url
from home import views
urlpatterns = [
url(r'^index$',views.index),#首页
]

home应用中的views.py文件中配置视图:

from django.shortcuts import render

# Create your views here.
def index(request):
'''首页'''
return render(request,'home/index.html')

项目的urls.py中引入应用的路由:

urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^', include('home.urls')),
]

模板中新建index.html

index.html内容:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>首页</title>
</head>
<body>
<h1>首页</h1>
</body>
</html>

然后运行

 manage.py runserver 127.0.0.1:8080

这样一个路由就配置好了

PS:简单介绍以下Django路由的原理,如下图所示:()

自定义404页面:

settings.py修改如下配置:

DEBUG = False

ALLOWED_HOSTS = ['127.0.0.1']

templates下新建404.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>首页</title>
</head>
<body>
<h1>页面找不到</h1>
</body>
</html>

(2)配置mysql数据库(settings.py文件中修改数据库配置):

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'stu_user',//数据库名称
'USER': 'root',
'PASSWORD': 'root',
'HOST': 'localhost',
'PORT': '3306',
}
}

views.py中测试新增数据:

from django.shortcuts import render
from datetime import date
from home import models
# Create your views here.
def index(request):
'''首页'''
book = models.StuUser(
studentName = '冯文哲'
)
book.save()
return render(request,'home/index.html')

python使用Django框架开发简单项目的更多相关文章

  1. Python的Django框架中的Cookie相关处理

    Python的Django框架中的Cookie相关处理 浏览器的开发人员在非常早的时候就已经意识到. HTTP's 的无状态会对Web开发人员带来非常大的问题,于是(cookies)应运而生. coo ...

  2. Django框架的安装,项目创建

    目录 Django框架的安装,项目创建 方法安装 Django版本选择 1.11.21(最新LTS版) django管理目录 命令行创建项目 django项目 命令行启动 (必须在项目文件下执行) p ...

  3. SSM框架开发web项目系列(三) MyBatis之resultMap及关联映射

    前言 在上篇MyBatis基础篇中我们独立使用MyBatis构建了一个简单的数据库访问程序,可以实现单表的基本增删改查等操作,通过该实例我们可以初步了解MyBatis操作数据库需要的一些组成部分(配置 ...

  4. SSM框架开发web项目系列(五) Spring集成MyBatis

    前言 在前面的MyBatis部分内容中,我们已经可以独立的基于MyBatis构建一个数据库访问层应用,但是在实际的项目开发中,我们的程序不会这么简单,层次也更加复杂,除了这里说到的持久层,还有业务逻辑 ...

  5. Python的Django框架中forms表单类的使用方法详解

    用户表单是Web端的一项基本功能,大而全的Django框架中自然带有现成的基础form对象,本文就Python的Django框架中forms表单类的使用方法详解. Form表单的功能 自动生成HTML ...

  6. 如何使用Python的Django框架创建自己的网站

    如何使用Python的Django框架创建自己的网站 Django建站主要分四步:1.创建Django项目,2.将网页模板移植到Django项目中,3.数据交互,4.数据库 1创建Django项目 本 ...

  7. YII框架开发一个项目的通用目录结构

    YII框架开发一个项目的通用目录结构: 3 testdrive/ 4 index.php Web 应用入口脚本文件 5 assets/ 包含公开的资源文件 6 css/ 包含 CSS 文件 7 ima ...

  8. SSM框架开发web项目系列(二) MyBatis真正的力量

    前言 上篇SSM框架环境搭建篇,演示了我们进行web开发必不可少的一些配置和准备工作,如果这方面还有疑问的地方,可以先参考上一篇“SSM框架开发web项目系列(一) 环境搭建篇”.本文主要介绍MyBa ...

  9. Python的Django框架中的Context使用

    Python的Django框架中的Context使用 近期整理些Python方面的知识,一旦你创建一个 Template 对象,你能够用 context 来传递数据给它. 一个context是一系列变 ...

随机推荐

  1. 将数据保存到excel文件(纯前端实现)

    // 导出excel文件 /** * 依赖: import XLSX from 'xlsx' */ let obj = { '学生信息表': [ ['姓名', '性别', '年龄', '分数'], [ ...

  2. 我的第一个npm包:wechat-menu-editor 基于Vue的微信自定义菜单编辑器

    wechat-menu-editor 微信自定义菜单编辑器 前言 在做微信公众号相关开发时,基本上会去开发的功能就是微信自定义菜单设置的功能,本着不重复造轮子的原则,于是基于Vue封装的一个微信自定义 ...

  3. Linux的LCD驱动分析及移植

    测试平台 宿主机平台:Ubuntu 12.04.4 LTS 目标机:Easy-ARM IMX283 目标机内核:Linux 2.6.35.3 LCD驱动分析 LCD屏的驱动总体上分成两块,一块是GUI ...

  4. Python习题集(十四)

    每天一习题,提升Python不是问题!!有更简洁的写法请评论告知我! https://www.cnblogs.com/poloyy/category/1676599.html 题目 请写一个函数,该函 ...

  5. Nginx:常用基本命令与异常处理

    Nginx日志 - ./nginx-1.6.0-ems/logs/nginx.pid Nginx启动时应该使用cmd等命令行工具启动,双击启动同样会产生进程但会造成异常,判断条件是 ./nginx-1 ...

  6. k8s资源管理(基础操作)

    1. 基础 本文实操基于k8s 1.22.1 # 可以查看资源分配情况 kubectl describe node # 全局资源情况查看 kubectl api-resources 1.1 apply ...

  7. 三剑客之awk 逐行读取

    目录: 一.awk工作原理 二.按行输出文本 三.按字段输出文本 四.通过管道,双引号调用shall命令 五.CPU使用率 六.使用awk 统计 httpd 访问日志中每个客户端IP的出现次数 一.a ...

  8. sqlmap --eval 用法

    今天查资料发现 sqlmap 有一个 --eval 的参数 --eval=EVALCODE Evaluate provided Python code before the request (e.g. ...

  9. Linux 清理缓存

    1. free -m 命令可以查看内存使用情况  2. sync   :因为系统在操作的过程当中,会把你的操作到的文件资料先保存到buffer中去,因为怕你在操作的过程中因为断电等原因遗失数据,所以在 ...

  10. 浅聊Linux的五种IO模型

    在日常 Coding 中,多多少少都会接触到网络 IO,就会想要深入了解一下.看了很多文章,总是云里雾里的感觉,直到读了<UNIX网络编程 卷1:套接字联网API>中的介绍后,才豁然开朗. ...