Django3.2基础

1.创建虚拟环境

python -m venv venv

2.安装django3.2

pip install django==3.2

3.创建项目

django-admin startproject mysite

4.APP概念

-项目
--app 用户管理(表结构,函数,HTML模板,css)
--app 订单管理(表结构,函数,HTML模板,css)
--app 后台管理(表结构,函数,HTML模板,css)
--app 网站(表结构,函数,HTML模板,css)
--app API(表结构,函数,HTML模板,css)
注意:我们开发比较简洁,用不到多app,一般情况下,项目下创建1个app即可

5.创建app

python manage.py startapp app01

6.注册app

  • /mysite/mysite/settings.py
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01.apps.App01Config'
]

6.编写URL和视图函数对应关系 urls.py

  • /mysite/mysite/urls.py
from django.contrib import admin
from django.urls import path
from app01 import views

urlpatterns = [
    path('admin/', admin.site.urls),
    #www.xxx.com/index/->函数
    path('index/', views.index),
]

7.编写视图函数 【views.py】

  • /mysite/app01/views.py
from django.shortcuts import render,HttpResponse

# Create your views here.
def index(request):
    return HttpResponse("欢迎使用")

8.启动项目

python manage.py runserver

9.增加页面

  • /mysite/mysite/urls.py
from django.contrib import admin
from django.urls import path
from app01 import views

urlpatterns = [
    path('admin/', admin.site.urls),

    #www.xxx.com/index/->函数
    path('index/', views.index),
    path('user/list/', views.user_list),
    path('user/add/', views.user_add),
]

  • /mysite/app01/views.py
from django.shortcuts import render,HttpResponse

# Create your views here.
def index(request):
    return HttpResponse("欢迎使用")

def user_list(request):
    return HttpResponse("用户列表")
    
def user_add(request):
    return HttpResponse("添加用户")

10.templates模板

  • /mysite/app01/templates

  • /mysite/app01/views.py

from django.shortcuts import render,HttpResponse

# Create your views here.
def index(request):
    return HttpResponse("欢迎使用")

def user_list(request):
    # 标准命令行创建的django项目settings.py TEMPLATES下的DIRS为空[]
    # 1.去app目录下的templates目录寻找user_list.html
    # 根据app的注册顺序,逐一去他们的templates目录中找,假如app01没有这个html文件,就会寻找app02 ...
   
    #用pycharm创建的django项目settings.py TEMPLATES下的DIRS为[os.path.join(BASE_DIR,'templates')]
    # 1.优先去项目根目录的templates中寻找
    # 2.根据app的注册顺序,逐一去他们的templates目录中找
    return HttpResponse(request,"user_list.html")

def user_add(request):
    return HttpResponse(request,"user_add.html")

11.静态文件

在开发过程中一般将:

  • 图片
  • CSS
  • js
    都会当做静态文件处理

添加文件夹

  • /mysite/app01/static
  • /mysite/app01/static/css
  • /mysite/app01/static/img
  • /mysite/app01/static/js
  • /mysite/app01/static/plugins

12.模板语法

13.请求和响应

def something(request):
    #request是一个对象,封装了用户发送过来的所有请求相关数据

    # 1.获取请求方式 GET/POST
    print(request.method)
    
    # 2.在URL上传递值 /something/?n1=123&n2=999
    print(request.GET)
    
    # 3.在请求体中提交数据
    print(request.POST)
    
    # 4.【响应】在请求体中提交数据
    # return HttpResponse("返回内容")

    # 5.【响应】读取HTML的内容+渲染(替换) ->字符串,返回给用户浏览器
    #return render(request,'something.html',{'title':"来了"})
   
    # 6.【响应】重定向
    #return redirect("http://www.baidu.com")

本项目是一个简单的django问卷调查系统,拥有完善的权限机制,以及答卷功能,可扩展性强,用户相关登录、退出、改密等功能均在users应用中,course应用为问卷应用,采用vue+django+sqlite3开发,但后期可配置连接到MySQL数据库! 非常适合大学生作为毕业项目进行改造! 上线部署请自行参考django官方文档!如有部署需求可单独咨询报价! 调试步骤: 1、创建虚拟环境,这里只以python默认创建虚拟环境的方式说明 python3 -m venv venv 2、激活虚拟环境 win: venv\Script\activate linux: source venv/bin/activate 3、安装依赖 pip3 install -r requirements.txt 4、启动调试服务器 python3 manage.py runserver 前台所有页面默认均需要登录后方可访问 学生登录后直接进入选择问卷页面,选择问卷确认后直接进入问卷答题页面,成功跳转到个人中心,失败会有失败提示,问卷所有选项在没提交问卷之前均可修改,提交后选项不能修改,一个问卷一个学生只能作答一次,不能重复作答! 老师登录后跳转到个人中心,可修改密码,查看问卷结果,通过问卷结果的学生名可访问该问卷该学生的作答详细信息! 前台登录功能,学生、老师、超管均可登录,登录成功根据角色类型显示不同页面对应不同操作。 超管前台登录权限和老师基本一致,只是查看问卷结果为全员的问卷结果,而老师只能查看自己名下关联课程的问卷! 超管后台登录拥有所有权限,可在后台导出问卷结果及课程详情结果,格式为csv! 超管拥有批量导入用户信息权限! 超管可在后台修改任何用户的密码! 学生及教师均可在前台修改密码、姓名和用户名, 姓名和用户名修改时默认显示在修改框! 超管后台功能列表 用户管理 - 学生、教师信息增删改查! 开课时间 - 【增删改查】添加课程之前必须设置,因为在添加课程是需要选择开课时间,依赖该项! 课程管理 - 【增删改查】添加课程,课程需关联老师及开课时间,请提前创建! 问题管理 - 【增删改查】问题维度已经内置直接选择,问题、权重可修改,问题选项在对应的问题下添加,请注意选择选项多对应的选项号! 问卷管理 - 【增删改查】问卷可多选题库,关联教师,关联课程,请提前创建! 问卷结果 - 【管理员可删除】 可批量导出,可按课程及教师筛选查看! 课程结果 - 课程列表依赖添加的课程,已经有学生答题的课程,在删除课程前需谨慎,会导致之前的结果无法查看! 超管导入用户数据地址:http://127.0.0.1:8000/course/loaddata/user/ 用户数据录入说明: 老师和学生录入信息字段基本一致,id[值唯一]、username[值唯一]、password、code[值唯一,并且不能以0开头]为必填。 user_type字段为用户类型,需要在导入前指明用户类型。【学生类型:XS】【教师类型: TC】【超管类型:CG】。 dept字段为学院类型,因为系统已经固定了几个学院选项,所以不能随意填写,需要与选项中的对应。 # 选项类型 DEPT = ( ('计算机科学学院', '计算机科学学院'), ('文学院', '文学学院'), ('外国语学院', '外国语学院'), ('数学学院', '数学学院'), ) code字段为老师或学生的学号,必须唯一,也是必填项,不能以0开始,不能以0开始,不能以0开始,否则编辑信息不可用excel,只能用txt文本管理器打开编辑! 项目根目录有个01.csv的文件为导入用户信息模板,里边录入的几个用户不能删除,除id之外,其余均可修改, id可以从2开始,1的id是超级管理员的id,可以剔除在外!【目前超管的信息已经在文件中,如果系统创建了超管之后再去导入,文件中的超管id=1的信息会被覆盖】 【文件编码格式必须为: 【CSV UTF-8(逗号分割) 】的.csv文件】 前台登录地址:http://127.0.0.1:8000/users/login/ 后台登录地址:http://127.0.0.1:8000/admin/ 学生测试账户: 账号:studentA 密码:123456 教师测试账户: 账号:teachA 密码:123456 超级管理员: 账号:admin 密码:admin123zxc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bruce-li__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值