用Django写一个基于B/S架构的简单应用

您所在的位置:网站首页 app和web属于b/s还是c/s模式 用Django写一个基于B/S架构的简单应用

用Django写一个基于B/S架构的简单应用

#用Django写一个基于B/S架构的简单应用| 来源: 网络整理| 查看: 265

Python3.7+Django2.0+Mysql5.5

Django是由python语言编写的高级web应用框架,采用了MTV 框架模式。

安装django

pip install Django==x.x,根据自己的python版本安装,具体见 python版本对应的django版本

若要安装最新版django,直接在cmd命令窗口输入:pip install Django

验证django是否安装成功,在cmd命令窗口依次输入:python→import django→django.get_version()

安装成功之后,我们开始创建项目~

创建项目 在合适位置创建一个目录打开终端进入到上一步创建的目录下,输入: django-admin startproject project 之后,即可看到创建的目录下多了一个project项目输入:tree . /f,即可看到目录层级。这里简单说明一下目录层级。 manage.py 一个命令行工具,可以使我们用多种方式对Django项目进行交互

project目录

settings.py(需修改) 项目的配置文件urls.py(需修改) 项目的URL声明wsgi.py 项目与WSGI兼容的Web服务器入口init.py 一个空文件,它告诉Python这个目录应该被看做一个python包 配置数据库

注意:Django默认使用SQLite数据库,在settings.py文件中,通过DATEBASSES选项进行数据库配置

Python3.x中安装的是PyMySQL,在__init__.py文件中写入下面两行代码

import pymysql pymysql.install_as_MySQLdb() #配置MySQL

在这里插入图片描述 然后,将cmd命令窗口以管理员身份运行,创建数据库名为 lfh 的数据库👇

以数据库 lfh 为例进行示范:对settings.py中的DATABASES进行设置

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.**mysql**', #**将sqlite3改成mysql** 'NAME': "lfh", #数据库名 'USER': "root", #用户名 'PASSWORD': "root", #数据库密码 'HOST': "localhost", #数据库服务器ip 'PORT': "3308" #端口 } } 创建应用

在一个项目中可以创建多个应用,每个应用进行一种业务处理。

打开终端进入02-lfh目录下的project项目执行:python manage.py startapp myApp 在这里插入图片描述执行完上一步之后,打开project目录便可看到自动生成的myApp目录👇 在这里插入图片描述 激活应用

以后每新建一个应用,都要将应用名添加在这里。

在settings.py文件中,找到INSTALLED_APPS,直接在最后添加应用名'myApp'

INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myApp', #添加myApp ] 定义模型

有一个数据表就对应有一个模型。

在myApp目录下的models.py文件中定义模型,模型类要继承models.Model类,示例:

class Houses(models.Model): #模型类要继承models.Model hnumber = models.CharField(max_length=10,verbose_name="房间编号") hname = models.CharField(max_length=20, verbose_name="租房名称") type = models.CharField(max_length=20, verbose_name="类型") area = models.CharField(max_length=20, verbose_name="面积/㎡") address = models.CharField(max_length=20, verbose_name="位置") rent = models.FloatField(verbose_name="房费/元") isRenting = models.CharField(max_length=20, verbose_name="状态") remarks = models.CharField(max_length=20, verbose_name="备注") isDelete = models.BooleanField(default=False) #关联外键,说明:不需要定义主键,在生成时自动添加,并且值为自动增加 howner = models.ForeignKey("Owners", on_delete=models.CASCADE,verbose_name="所属房东") 在数据库中生成数据表

生成迁移文件

执行 python manage.py makemigrations,在migrations目录下生成一个迁移文件,此时数据库中还没有生成数据表 在这里插入图片描述

执行迁移

执行 python manage.py migrate ,相当于执行MySQL语句创建了数据表 在这里插入图片描述

执行迁移完成之后,在数据库中可以查看到生成了对应的表: 在这里插入图片描述

测试数据操作

Admin站点管理

配置Admin应用 在settings.py文件中的INSTALLED_APPS中添加django.contrib.admin(默认是添加好的) 在这里插入图片描述创建管理员用户 在项目目录下执行 python manage.py createsuperuser 依次输入用户名,邮箱,密码即可完成用户创建 在这里插入图片描述

启动服务器 :每次通过浏览器访问项目都要提前进行此步操作,千万要记住!!!!

格式:python manage.py runserver ip:port

说明:ip可以不写,不写的话代表本机ip;端口号默认是8000;所以可以直接执行 python manage.py runserver 在这里插入图片描述

打开浏览器,输入http://127.0.0.1:8000/admin/ ,进入登录界面 在这里插入图片描述

输入注册的用户名和密码,点击login,即可进入Django站点管理后台 在这里插入图片描述

将界面汉化,将project\settings.py文件做如下修改:

LANGUAGE_CODE = 'zh-Hans' #汉化,中文简体 TIME_ZONE = 'Asia/Shanghai' 管理数据表,在admin.py文件中,添加下面代码格式:admin.site.register(模型类) ,模型类即 models.py文件中创建的类名 from myApp.models import Owners, Tenants, Houses #从models中导入 admin.site.register(Owners) #在Admin站点注册Oweners表 admin.site.register(Tenants) #在Admin站点注册Tenants表 admin.site.register(Houses) #在Admin站点注册Houses表

在这里插入图片描述 刷新网页(或重新启动服务器,输入:http://127.0.0.1:8000/admin/),就可以看到自己的项目啦~ 在这里插入图片描述 点击增加或修改,对表进行操作~ 在这里插入图片描述 这次就先到这里,后面还会基于django更新Admin站点管理、视图和模板的基本使用。我也是小白一个,边学习边总结,大家一起愉快学习罗~



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3