zoukankan      html  css  js  c++  java
  • 吴裕雄--天生自然PythonDjangoWeb企业开发:学员管理系统后台

    需求
    提供一个学员管理系统,一个前台页面,展示现有学员,并供新学员提交申请,一个后台,能够处理申请。

    pip install django==1.11.2

    创建项目
    使用控制台进入到一个目录下,具体是哪个目录可以根据自己意愿选定,
    创建项目根目录: mkdir student_house,这是我们的项目目录,然后再我们创建项目结构: cd student_house && django-admin startproject student_sys,得到下面的结构:

     

    创建APP
    进入student_house/student_sys中,通过上一步创建好的manage.py创建一个app: python manage.py startapp student。现在目录结构如下:

     

     

    编写代码
    可以在Model层开始写代码了,这是一个简单的需求,只需要一个Model就可以满足。
    student_house/student_sys/student/models.py:
    from __future__ import unicode_literals
    
    from django.db import models
    
    
    class Student(models.Model):
        SEX_ITEMS = [(1, ''), (2, ''), (0, '未知')]
        STATUS_ITEMS = [(0, '申请'), (1, '通过'), (2, '拒绝')]
    
        name = models.CharField(max_length=128, verbose_name="姓名")
        sex = models.IntegerField(choices=SEX_ITEMS, verbose_name="性别")
        profession = models.CharField(max_length=128, verbose_name="职业")
        email = models.EmailField(verbose_name="Email")
        qq = models.CharField(max_length=128, verbose_name="QQ")
        phone = models.CharField(max_length=128, verbose_name="电话")
        status = models.IntegerField(choices=STATUS_ITEMS, verbose_name="审核状态")
        created_time = models.DateTimeField(auto_now_add=True, editable=False, verbose_name="创建时间")
    
        def __unicode__(self):
            return '<Student: {}>'.format(self.name)
    
        class Meta:
            verbose_name = verbose_name_plural = "学员信息"
    再来写admin.py:
    # -*- coding: utf-8 -*-
    from __future__ import unicode_literals
    from django.contrib import admin
    from .models import Student
    
    
    class StudentAdmin(admin.ModelAdmin):
        list_display = ('id', 'name', 'sex', 'profession', 'email', 'qq', 'phone', 'status', 'created_time')
        list_filter = ('sex', 'status', 'created_time')
        search_fields = ('name', 'profession')
        fieldsets = ((None, {'fields': ('name', ('sex', 'profession'), ('email', 'qq', 'phone'), 'status')}),)
     admin.site.register(Student, StudentAdmin)
    把这个studentapp放到settings.py中。
    我们只需要在INSTALLED_APPS配置的最后,或者最前面增加'student'即可:
    settings.py文件:

    后台部分就完成了,我们来创建下表以及超级用户,通过下面命令:
    python manage.py makemigrations 创建迁移文件
    python manage.py migrate 创建表
    python manage.py createsuperuser 根据提示,输出用户名,邮箱,密码

     

    启动项目: python manage.py runserver,访问: http://127.0.0.1:8000,看到一个提示页

     

    这是因为我们还没开发首页。我们可以进入到admin的页面: http://127.0.0.1:8000/admin/。用上面刚刚创建好的账户登录,就能看到一个完整的带有CURD的后台了。

     

    基础配置(中文)
    通过上面的配置,看到的界面应该是英文的,并且时区也是UTC时区。所以我们需要进一步配置。
    在settings中有如下配置:
    #LANGUAGE_CODE = 'en-us'
    LANGUAGE_CODE = 'zh-hans'  # 语言
    
    #TIME_ZONE = 'UTC'
    TIME_ZONE = 'Asia/Shanghai'  # 时区
    
    USE_I18N = True  # 语言
    USE_L10N = True  # 数据和时间格式
    
    USE_TZ = True  # 启用时区

     修改完这些之后,刷新一下

     

  • 相关阅读:
    折半枚举(双向搜索)
    弹性碰撞
    集合的整数表示
    反转(开关问题)
    尺取法
    floor函数用法
    二分搜索
    4. 差分约束系统
    二叉树的表达式求值
    关于移动app开发的一些不错的站点
  • 原文地址:https://www.cnblogs.com/tszr/p/12218968.html
Copyright © 2011-2022 走看看