一、

(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. Disable_functions绕过整合

    转载 https://whoamianony.top/2021/03/13/Web安全/Bypass Disable_functions/ https://www.mi1k7ea.com/2019/0 ...

  2. 学习笔记之IdentityServer4(一)

    快速入门IdentityServer4 概述 将 IdentityServer 添加到 ASP.NET Core 应用程序 配置 IdentityServer 为各种客户发行代币 保护 Web 应用程 ...

  3. zset类型数据的操作指令

    1. 也可以追加数据 2. 3. 4. 5. 6. 7. 8. 9.

  4. eBPF 安全项目 Tracee 初探

    1. Tracee 介绍 1.1 Tracee 介绍 Tracee 是一个用 于 Linux 的运行时安全和取证工具.它使用 Linux eBPF 技术在运行时跟踪系统和应用程序,并分析收集的事件以检 ...

  5. noip模拟45

    A. 打表 首先注意这道题数组下标从 \(0\) 开始 可以找规律发现是 \(\displaystyle\frac{\sum |a_i-a _ {ans}|}{2^k}\) 那么严谨证明一下: 由于两 ...

  6. VUE004. provide与inject的使用(祖先组件隔多层传静态值给子孙组件)

    provide和inject可以通过祖先组件隔三层四层甚至隔着九层妖塔传值给子孙组件. 需要注意的是这样的传值方式是非响应式的,需要结合自身的应用场景,比如将上传的限制条件通过父组件传值给子组件的子组 ...

  7. 求 10000 以内 n 的阶乘

    求 10000以内 n 的阶乘. 输入格式 只有一行输入,整数 n(0≤n≤10000) 输出格式 一行,即 n!的值. 输出时每行末尾的多余空格,不影响答案正确性 样例输入 100 样例输出 933 ...

  8. 对javaEE Tutorial上hello2的源码分析详解

    首先: java EE 上的hello2项目是一个部署在glass fish上的开发源码的java web项目,在终端通过命令行使用maven进行打包成.war文件,最后部署到相关的glass fis ...

  9. P4234-最小差值生成树【LCT】

    正题 题目链接:https://www.luogu.com.cn/problem/P4234 题目大意 给出\(n\)个点\(m\)条边的一张图.求一棵生成树使得最大边权减去最小边权最小. \(1\l ...

  10. Redis之品鉴之旅(七)

    分布式锁 1)阻塞锁: 尝试在redis中创建一个字符串结构缓存,方法传入的key,value为锁的过期时间timeout的时间戳. 若redis中没有这个key,则创建成功(即抢到锁),然后立即返回 ...