Django-入门操作详解

初试牛刀

  • 利用Django实现投票系统
    • 创建Python虚拟环境
    • 配置MySQL
    • 利用Django来管理模型

利用Django实现投票系统

声明:我是跟着Github项目学习的,这里的记录仅仅是帮助自己理解。
这篇文章的主要目的是利用Django连接MySQL数据库,并利用Django中自带的Web前端处理器对数据库进行简单增删改查操作,首先在进行实验之前请确保如下环境配置正确:Python3.5以上、MySQL安装正确。

创建Python虚拟环境

首先我们在Python中先创建一个虚拟环境以便进行的操作不会影响到原始配置环境,创建虚拟环境的过程如下:

  1. 打开命令行程序(在电脑中输入CMD即可)进入到你想保存的项目目录中
  2. 创建vote文件夹mkdir vote
  3. 在命令行中输入命令python -m venv venv,第一个venv是告诉Python我要创建一个虚拟环境啦,第二个是虚拟环境的名称(想取啥取啥喽)
  4. cd进入虚拟环境中的Scripts目录:cd venv/Scripts
  5. 输入命令activate激活虚拟环境,此时命令行前面应该有虚拟环境标志(venv) E:\pythoncode\
  6. 更新pippython -m pip install -U pip,我输入pip install -U pip 会报错Fatal error in launcher: Unable to create process using '"'查了后说是电脑里安装了多个Python环境的原因。。。emmm但是我电脑里貌似就一个python环境,如果你知道为啥的话给我留言呀~
  7. 安装Djangopip install django
  8. 创建django项目django-admin startproject vote最后是创建项目的名称,这里用的是vote
  9. 在项目vote下创建vote_app应用,一个Django项目内可以创建多个应用:python manage.py startapp vote_app
    至此,Python的虚拟环境安装完毕~~我们在命令行内键入python manage.py runserver可以出现以下界面:
    Django-入门操作详解_第1张图片

配置MySQL

  1. 打开setting.py文件(在刚刚创建的django项目vote下的vote目录内),修改如下代码,将刚刚创建好的vote_app加入django的应用下。
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'vote_app',
]
  1. 修改setting.py中的数据库配置,注意这里的驱动要改为django中集成好的mysql驱动,而且你要首先确保你的mysql中有名为vote的数据库,没有的话可以先用create命令创建。
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'vote',
        'HOST': '172.31.43.***',
        'PORT': 3306,
        'USER': 'root',
        'PASSWORD': '*****',
    }
}
  1. 安装pymysql:pip install pymysql
  2. 打开项目目录下的__init__.py,写入如下代码:
import pymysql
pymysql.install_as_MySQLdb()
  1. 在命令行内键入python manage.py migrate
  2. 之后打开model.py开始定义数据模型
from django.db import models

# Create your models here.
class Subject(models.Model):
    no = models.IntegerField(primary_key=True,db_column='sno',verbose_name='学科编号')
    name = models.CharField(max_length=20,db_column='sname',verbose_name='学科名称')
    intro = models.CharField(max_length=100,null=True,db_column='sintro',verbose_name='学科介绍')
    create_date = models.DateField(db_column='create_date',verbose_name='成立日期')
    is_hot = models.BooleanField(db_column='is_hot',verbose_name='是否热门')
    emp_rate = models.DecimalField(max_digits=7,decimal_places=2,db_column='emp_rate',verbose_name='就业率')
    def __str__(self):
        return self.name
    class Meta:
        db_table = 'tb_subject'
        verbose_name = '学科'
        verbose_name_plural = '学科'

class Teacher(models.Model):
    no = models.IntegerField(primary_key=True,db_column='tno',verbose_name='老师编号')
    name = models.CharField(max_length=20,db_column='tname',verbose_name='姓名')
    intro = models.CharField(max_length=100,null=True,db_column='tintro',verbose_name='自我介绍')
    job_date = models.DateField(db_column='job_date',verbose_name='入职日期')
    good_count = models.IntegerField(db_column='good_count',verbose_name='好评数')
    bad_count = models.IntegerField(db_column='bad_count', verbose_name='差评数')
    sub_no = models.ForeignKey(Subject,db_column='sub_no',on_delete=models.PROTECT,verbose_name='所属学科')
    def __str__(self):
        return self.name
    class Meta:
        db_table = 'tb_teacher'
        verbose_name = '老师'
        verbose_name_plural = '老师'

7.在命令行输入python manage.py makemigrations vote_app生成迁移文件
8.命令行输入python manage.py migrate执行迁移文件
如果这部分的操作都没有报错的话则恭喜你~连接MySQL的过程就圆满完成啦!

利用Django来管理模型

1.创建超级用户python manage.py createsuperuser按提示依次输入即可
2.在vote_app应用内修改admin.py文件如下,注册模型。

from django.contrib import admin
from vote_app.models import Subject,Teacher
# Register your models here.
class SubjectAdmin(admin.ModelAdmin):
    list_display = ('no','name','intro','create_date','is_hot','emp_rate')
    ordering = ('no',)
class TeacherAdmin(admin.ModelAdmin):
    list_display = ('no','name','intro','job_date','good_count','bad_count','sub_no')
    ordering = ('sub_no','no',)

admin.site.register(Subject,SubjectAdmin)
admin.site.register(Teacher,TeacherAdmin)

3.在浏览器内输入(http://127.0.0.1:8000/admin/)后输入刚刚注册的用户名和密码进入如下界面:
Django-入门操作详解_第2张图片至此,我们可以在该页面上对模型进行增删改查操作。

你可能感兴趣的:(Python)