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

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命令窗口依次输入:pythonimport djangodjango.get_version()

用Django写一个基于B/S架构的简单应用_第1张图片

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

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

project目录

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

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

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

import pymysql 
pymysql.install_as_MySQLdb()  #配置MySQL

用Django写一个基于B/S架构的简单应用_第3张图片
然后,将cmd命令窗口以管理员身份运行,创建数据库名为 lfh 的数据库

用Django写一个基于B/S架构的简单应用_第4张图片

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

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

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

  • 打开终端进入02-lfh目录下的project项目
  • 执行:python manage.py startapp myApp
    用Django写一个基于B/S架构的简单应用_第5张图片
  • 执行完上一步之后,打开project目录便可看到自动生成的myApp目录
    用Django写一个基于B/S架构的简单应用_第6张图片
  1. 激活应用

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

在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
    ]
  1. 定义模型

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

在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="所属房东")
  1. 在数据库中生成数据表

生成迁移文件

  • 执行 python manage.py makemigrations,在migrations目录下生成一个迁移文件,此时数据库中还没有生成数据表
    用Django写一个基于B/S架构的简单应用_第7张图片

执行迁移

  • 执行 python manage.py migrate ,相当于执行MySQL语句创建了数据表
    用Django写一个基于B/S架构的简单应用_第8张图片

执行迁移完成之后,在数据库中可以查看到生成了对应的表:
用Django写一个基于B/S架构的简单应用_第9张图片

  1. 测试数据操作

Admin站点管理

  • 配置Admin应用
    在settings.py文件中的INSTALLED_APPS中添加django.contrib.admin(默认是添加好的)
    用Django写一个基于B/S架构的简单应用_第10张图片
  • 创建管理员用户
    在项目目录下执行 python manage.py createsuperuser
    依次输入用户名,邮箱,密码即可完成用户创建
    用Django写一个基于B/S架构的简单应用_第11张图片

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

  • 格式:python manage.py runserver ip:port

  • 说明:ip可以不写,不写的话代表本机ip;端口号默认是8000;所以可以直接执行 python manage.py runserver
    用Django写一个基于B/S架构的简单应用_第12张图片

  • 打开浏览器,输入http://127.0.0.1:8000/admin/ ,进入登录界面
    用Django写一个基于B/S架构的简单应用_第13张图片

  • 输入注册的用户名和密码,点击login,即可进入Django站点管理后台
    用Django写一个基于B/S架构的简单应用_第14张图片

  • 将界面汉化,将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表

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

用Django写一个基于B/S架构的简单应用_第18张图片

你可能感兴趣的:(Django,Python,Mysql)