python3.6+django2.0开发一套学员管理系统

yizhihongxing

下面是“python3.6+django2.0开发一套学员管理系统”的完整攻略。

1.环境准备

首先需要在本地安装Python3.6,并且安装Django2.0以及其他必要的扩展库,如Pillow,Django-crispy-forms等。可以通过以下命令完成环境准备:

# 安装Python3.6
$ sudo apt-get install python3.6

# 创建虚拟环境
$ virtualenv envname -p python3.6

# 激活虚拟环境
$ source envname/bin/activate

# 安装Django2.0
$ pip install Django==2.0

# 其他必要的扩展库
$ pip install Pillow
$ pip install django-crispy-forms

2.创建Django项目

使用以下命令,创建一个名为“student”的Django项目:

$ django-admin startproject student

3.创建Django应用

进入到Django项目的根目录,使用以下命令创建一个名为“users”的Django应用:

$ cd student
$ python manage.py startapp users

4.编写模型

在“users/models.py”文件中,定义一个名为Student的模型,如下所示:

from django.db import models

class Student(models.Model):
    name = models.CharField(max_length=100)
    gender = models.BooleanField()
    birthday = models.DateField()
    email = models.EmailField()
    phone = models.CharField(max_length=20)
    address = models.CharField(max_length=200)
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)

    class Meta:
        ordering = ['created']

5.创建数据库表

在完成模型定义之后,使用以下命令,将模型转换成数据库表:

$ python manage.py makemigrations
$ python manage.py migrate

6.创建视图

在“users/views.py”文件中,定义一个名为StudentListView的视图,继承自Django自带的ListView视图,如下所示:

from django.shortcuts import render
from django.views.generic.list import ListView
from .models import Student

class StudentListView(ListView):
    model = Student
    template_name = 'students.html'
    context_object_name = 'students'

7.创建URL

在“users/urls.py”文件中,定义一个名为“students”的URL,将其指向视图“StudentListView”,如下所示:

from django.urls import path
from .views import StudentListView

urlpatterns = [
    path('students/', StudentListView.as_view(), name='students'),
]

示例一:查看学员列表

现在我们可以使用以下命令来启动Django的开发服务器:

$ python manage.py runserver

在浏览器中访问“http://localhost:8000/users/students/”,即可查看学员列表。注意需要在模板中使用相关Django标签调用学员数据。

示例二:添加学员信息

在“users/views.py”文件中,定义一个名为“StudentCreateView”的视图,继承自Django自带的CreateView视图,实现添加学员信息。

from django.shortcuts import render
from django.views.generic.edit import CreateView
from .models import Student

class StudentCreateView(CreateView):
    model = Student
    fields = '__all__'
    template_name = 'create_student.html'

在“users/templates/create_student.html”文件中,定义一个名为“create_student”的模板,实现添加学员信息的页面。

{% extends 'base.html' %}

{% block content %}
  <h1>添加学员信息</h1>
  <form method="post">
    {% csrf_token %}
    {{ form.as_p }}
    <button type="submit">保存</button>
  </form>
{% endblock %}

在“users/urls.py”文件中,定义一个名为“create_student”的URL,将其指向视图“StudentCreateView”,如下所示:

from django.urls import path
from .views import StudentListView, StudentCreateView

urlpatterns = [
    path('students/', StudentListView.as_view(), name='students'),
    path('create/', StudentCreateView.as_view(), name='create_student'),
]

现在我们可以在浏览器中访问“http://localhost:8000/users/create/”,来添加学员信息。注意需要在模板中使用相关Django标签渲染表单。

至此,我们就完成了“python3.6+django2.0开发一套学员管理系统”的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python3.6+django2.0开发一套学员管理系统 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Django学习笔记-简单的Demo

    1.首先必须参考我之前的文章:http://www.cnblogs.com/sxmcACM/p/3923186.html 2.开始一个简单的Demo   (1)建个工程,名为mysite,命令:django-admin.py startproject mysite   (2)运行服务,命令:python manage.py runserver   (3)测试…

    Django 2023年4月11日
    00
  • django+uwsgi+daphne+supervisor生产环境部署

    一、前言   在上一篇文章中项目中使用了webscoket进行实时通讯,但是生产环境又使用了django+nginx+uwsgi的部署方式,我们都知道uwsgi并不能处理websocket请求,所以需要asgi服务器来处理websocket请求,官方推荐的asgi服务器是daphne,下面将介绍详细的部署步骤。   二、软件安装   之前已经写过一一篇关于d…

    Django 2023年4月16日
    00
  • Python Django CBV下的通用视图函数

    ListView TemplateView DetailView   之前的代码实例基本上都是基于FBV的模式来撰写的,好处么,当然就是简单粗暴。。正如: def index(request): return HttpResponse(‘hello world’) 上面的写法,基本接触不到视图函数里面的通用视图。只是在介绍CBV的时候稍微介绍了下引用,大概用…

    Django 2023年4月10日
    00
  • django基础之数据库操作方法(详解)

    下面是对“django基础之数据库操作方法(详解)”这篇文章的完整攻略: 1. 数据库连接设置 在django中默认使用sqlite作为数据库,可在settings.py文件中进行配置。也可以使用其他关系型数据库,如MySQL等,只需在settings.py中进行配置即可。 2. 数据库操作方法 2.1. 基本方法 Django提供了强大易用的ORM(Obj…

    Django 2023年5月16日
    00
  • python基础-requests模块、异常处理、Django部署、内置函数、网络编程

     网络编程   urllib的request模块可以非常方便地抓取URL内容,也就是发送一个GET请求到指定的页面,然后返回HTTP的响应。   校验返回值,进行接口测试: 编码:把一个Python对象编码转换成Json字符串   json.dumps() 解码:把Json格式字符串解码转换成Python对象   json.loads()     Post请…

    Django 2023年4月12日
    00
  • 使用Django搭建网站实现商品分页功能

    下面是使用Django搭建网站实现商品分页功能的完整攻略。 前置知识 在实现商品分页功能之前,需要了解以下知识: Django框架基本概念和使用方法 Django中模型(Model)的概念和使用方法 Django中视图(View)的概念和使用方法 Django中模板(Template)的概念和使用方法 HTML和CSS的基础知识 实现步骤 创建Django项…

    Django 2023年5月16日
    00
  • Django JWT登录认证机制

    Django REST framework JWT 在用户注册或登录后,我们想记录用户的登录状态,或者为用户创建身份认证的凭证。我们不再使用Session认证机制,而使用Json Web Token认证机制。 很多公司开发的一些移动端可能不支持cookie,并且我们通过cookie和session做接口登录认证的话,效率其实并不是很高,我们的接口可能提供给多…

    Django 2023年4月17日
    00
  • django修改静态文件(css,js)之后,浏览器效果没改变

    今天踩了一个大坑,静态文件(css,js)之后,浏览器效果没改变 按F12查需要改变的元素引用的css标签发现并没有改变。说明浏览器对于css,js文件有缓存。需要手动清除一下!!!           在设置里面清理缓存即可  

    Django 2023年4月11日
    00
合作推广
合作推广
分享本页
返回顶部