python django 学习第3天 文件长传

2023-11-20

在根目录下新建media目录
在settings.py 加入代码
为上传文件操作做准备
MEDIA_ROOT = os.path.join(BASE_DIR, ‘media’)
MEDIA_URL = “/media/”

做一个新闻调查页面
在views 中加入 以下代码
先导入环境包
from datetime import datetime
from django.core.exceptions import ObjectDoesNotExist
from django.http import HttpResponseRedirect, Http404
from django.shortcuts import get_object_or_404, render
from django.urls import reverse
from DjangoSample import settings

from .models import Question, Choice

----------------------------在views.py 加入代码 ---------------------------------------------------------------------------
///

#--------新闻调查模板-----------

def index(request):
print(settings.STATIC_ROOT)
latest_question_list = Question.objects.filter(pub_date__lte=datetime.now()).order_by(’-pub_date’)[:5]

context = {
    'latest_question_list': latest_question_list,
}
return render(request, 'ch01/index.html', context)

def detail(request, question_id):
try:
question = Question.objects.filter(pub_date__lte=datetime.now()).get(pk=question_id)
except ObjectDoesNotExist as e:
raise Http404(“查看的问题不存在!”)
return render(request, ‘ch01/detail.html’, {‘question’: question})

def results(request, question_id):
question = get_object_or_404(Question, pk=question_id)
return render(request, ‘ch01/results.html’, {‘question’: question})

def vote(request, question_id):
question = get_object_or_404(Question, pk=question_id)
try:
selected_choice = question.choice_set.get(pk=request.POST[‘choice’])
except (KeyError, Choice.DoesNotExist):
return render(request, ‘ch01/detail.html’, {
‘question’: question,
‘error_message’: “你没有选择一个选项。”,
})
else:
selected_choice.votes += 1
selected_choice.save()
return HttpResponseRedirect(reverse(‘ch01:results’, args=(question.id,)))

在urls.py中配置 路径
path(r’index’, views.index, name=“index”),
path(r’results’, views.index, name=“results”),
re_path(r’^(?P<question_id>[0-9]+)/KaTeX parse error: Expected 'EOF', got '#' at position 38: …'tb1'), #̲ ex: /ch01/5/ …’, views.detail, name=‘detail’),
# ex: /ch01/5/results/
re_path(r’^(?P<question_id>[0-9]+)/results/KaTeX parse error: Expected 'EOF', got '#' at position 40: …results'), #̲ ex: /ch01/5/vo…’, views.vote, name=‘vote’),



from django.db import models
from datetime import datetime,timedelta

Create your models here.

class Question(models.Model):
“”“类变量用来定义成员变量的特性,框架自动创建对应的成员变量”""
question_text = models.CharField(‘问题’, max_length=200)
pub_date = models.DateTimeField(‘发布日期’)

def was_published_recently(self):
    print(type(self))
    print(type(self.pub_date))
    now = datetime.now()
    past = now - timedelta(hours=72)
    return past <= self.pub_date <= now

was_published_recently.short_description = '最新发布?'
was_published_recently.boolean = True

def pub_date_str(self):
    return self.pub_date.strftime("%Y-%m-%d %H:%M:%S")

pub_date_str.short_description = '发布日期'
pub_date_str.admin_order_field = 'pub_date'

class Meta:
    verbose_name = "问题表"
    verbose_name_plural = verbose_name

def __str__(self):
    return self.question_text

class Choice(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
choice_text = models.CharField(‘选项’, max_length=200)
votes = models.IntegerField(‘票数’, default=0)

def __str__(self):
    return self.choice_text
    ---------------------------------------------------------------------------------------------------------
    

#------创建脚本命令--------------
python manage.py makemigrations ch01
python manage.py migrate


这个时候 可以通过数据库看到表数据了

在这里插入图片描述
没执行命令前的状态

执行命令表 后的状态
在这里插入图片描述

启动服务器
打 开网址
http://127.0.0.1:8000/admin

可以看到后台的页面

在这里插入图片描述

#-------创建管理员账号-----------
python manage.py createsuperuser --username root#创建管理员账号

在这里插入图片描述

重新启动服务器

python manage.py runserver

打 开网址
http://127.0.0.1:8000/admin

输入用户名 和 密码

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python django 学习第3天 文件长传 的相关文章

随机推荐

  • Common块和Bss段的区别

    昨天看 程序员的自我修养 链接 装载与库 发现不是很理解为什么要用common块 然后仔细看了一番 有了自己的理解 common块 用来存放弱符号 而全局未初始化变量是弱符号 但是难道不是应该存放在 bss段吗 为什么要有common块呢
  • [C#]BeforeFieldInit与类静态构造函数

    最近看到一篇关于 C 语言中关于静态构造函数延迟加载核心原理的文章 感觉很好特转一下 以供朋友们共同进步 个人很少转载他人文章 如下代码 using System namespace BeforeFieldInit internal cla
  • 基于SpringCloud的分布式网上购物商城

    末尾获取源码 开发语言 Java Java开发工具 JDK1 8 后端 SpringCloud 前端 Vue HTML 数据库 MySQL5 7和Navicat管理工具结合 服务器 Tomcat8 5 开发软件 IDEA Eclipse 是
  • C++57个入门知识点_31 初始化列表及派生类中的函数隐藏(初始化列表:用于调用父类有参构造并初始化、用于自身成员初始化、对于常量成员初始化;函数隐藏:不同作用域里两个数据名称相同,由内向外隐藏)

    上篇C 57个入门知识点 30 父子类 成员类构造析构顺序 存在父子和成员类的构造析构 构造 父类 成员类 自己 析构 自己 成员类 父类 成员类 A类对象作为B类成员 A为B成员类或朋友类 介绍了父类 成员类的构造析构顺序 本篇将介绍与其
  • JAVA 安装与简单使用

    JAVA简易安装 下载安装 环境变量 进入变量界面 设置变量 验证JAVA环境 运行Java程序 个人站 ghzzz cn 还在备案 很快就能访问了 下载安装 第一步当然是从官网下载安装java了 网上有很多的教程 这里简单的写一下 在这里
  • python人脸识别(转载)

    源码出处 http www cnblogs com AdaminXie 该项目笔记是基于下面博客的摘抄 Python 3 利用 Dlib 实现摄像头实时人脸识别 coneypo 博客园 cnblogs com Python 3 利用 Dli
  • maven 打包(zip)

    Main下添加文件 下添加assembly package xml
  • 免费接口API

    天气接口 气象局接口 http m weather com cn data 101010100 html 解析 用例 音乐接口 虾米接口 http kuang xiami com app nineteen search key 歌曲名称 d
  • 网页 序列号 逆向linux,逆向序列号生成算法(一)

    对逆向工程一直很感兴趣 工作之余自己也研究一下 好久没有练手了 OllyDBG的使用都感觉生疏了 晚上抽空先去补了补OllyDBG的使用方法 然后看到一个叫做CycleCrackMe 的序列号保护练手程序 如图1 刚好是OllyDBG入门文
  • GGally与pairs相关关系图_史上最全(二)

    作者 李誉辉 四川大学在读研究生 接上一篇 GGally与pairs相关关系图 史上最全 一 2 4 wrap 封装 其它需要指定到geom xxx 中的参数 可以通过wrap 传递给lower upper 或diag 语法 1wrap f
  • 【Pytorch with fastai】第 2 章:从模型到生产

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • MySQL常见的数据类型

    MySQL的常见数据类型 数据类型是什么 数据类型是列 存储过程的参数 表达式和局部变量的数据特征 它决定了数据的存储格式 代表了不同的信息类型 有一些数据是要存储为数字的 数字当中有些是要存储为整数 小数 日期型等 MySQL常见的数据类
  • 【第十四届蓝桥杯三月真题刷题训练——第 24 天 (3.27)& 旋转 & 附近最小 & 扫地机器人 & 窗口】

    第一题 旋转 import java util Scanner public class Main static int N 300 static int a new int N N static int b new int N N pub
  • 数模培训第二周——图论模型

    图论中最短路算法与程序实现 图论中的最短路问题 包括无向图和有向图 是一个基本且常见的问题 主要的算法有Dijkstra算法和Floyd算法 Floyd算法 简介 Floyd Warshall算法 英语 Floyd Warshall alg
  • 机器学习入门-数值特征-时间特征处理

    我们可以将一连串的时间特征进行拆分 比如 2015 03 08 10 30 00 360000 00 00 我们可以将其转换为日期类型 然后从里面提取年 月 日等时间信息 对于一些hour month等信息 我们也可以使用pd cut将ho
  • 单个IMU实现精确的轨迹重构

    惯性传感器 IMU 被广泛用于导航 运动状态研究 人体运动和步态分析等领域 然而 由于IMU的固有误差和测量误差 尤其是漂移误差 很少有人尝试基于IMU实现精确的轨迹重建 尤其是使用单个IMU 尽管如此 与视觉 红外线和超声波定位技术相比
  • C#——反射和特性

    元数据 程序是用来处理数据的 文本和特性都是数据 而我们程序本身这些也是数据 有关程序及其类型的数据被称为元数据 他们保存在程序的程序集中 反射 程序在运行时 可以查看其它程序集或其本身的元数据 一个运行的程序查看本身的元数据或者其他程序集
  • Java中基本类型自动转换与强制转换

    类型转换 Java 语言是一种强类型的语言 强类型的语言有以下几个要求 变量或常量必须有类型 要求声明变量或常量时必须声明类型 而且只能在声明以后才能使用 赋值时类型必须一致 值的类型必须和变量或常量的类型完全一致 运算时类型必须一致 参与
  • Python学习(3):批量修改文件名(以excel文件为例)

    coding utf 8 import os dir input 请输入文件路径 for root dirs files in os walk dir for i in range len files filename files i ne
  • python django 学习第3天 文件长传

    在根目录下新建media目录 在settings py 加入代码 为上传文件操作做准备 MEDIA ROOT os path join BASE DIR media MEDIA URL media 做一个新闻调查页面 在views 中加入