django之创建第10-1个项目-图片上传并记录上传时间
1、百度云盘:django之创建第10-1个项目-图片上传并记录上传时间
2、主要修改的配置文件有3个,forms、views和models3个文件以及html
3、forms.py文件修改
#coding:utf-8
#这里定义html页面中用到的表单,常和views和models文件配合使用
"""
>>> help(django)
Help on package django:
PACKAGE CONTENTS
conf (package)
contrib (package)
core (package)
db (package)
dispatch (package)
forms (package)
http (package)
middleware (package)
shortcuts (package)
template (package)
templatetags (package)
test (package)
utils (package)
views (package) FUNCTIONS
get_version(*args, **kwargs) DATA
VERSION = (1, 5, 12, 'final', 0)
"""
#从django导入forms类
from django import forms class UserForm(forms.Form):
#intime = forms.DateField()#注释掉intime变量,因为html中不需要操作该项,该项为自动输入
username = forms.CharField()
headImg = forms.FileField()
4、models文件
#coding:utf-8
from django.db import models class User(models.Model):
intime = models.DateTimeField()
username = models.CharField(max_length = 30)
headImg = models.FileField(upload_to = './photos/') #图片上传之后存放在./photos/目录下,站点根目录下的photos目录中
#./代表站点根目录,../代表当前目录的上一级目录
class Meta:
db_table = 'User' def __unicode__(self):
return self.username #username 用户存放用户名,headImg 用户存放上传文件的路径
5、views文件
# Create your views here.
#coding:utf-8
from django.http import HttpResponse
import datetime
#导入templates文件所需导入库
from django.template import loader,Context
#引入Student等模块 from blog.models import *
from blog.forms import UserForm
from django.shortcuts import render,render_to_response def upload(request):
if request.method == "POST":
uf = UserForm(request.POST,request.FILES)
if uf.is_valid():
#获取表单信息
username = uf.cleaned_data['username']
headImg = uf.cleaned_data['headImg']
#intime = uf.cleaned_data['intime'] #不从表单获取数据,所以注释掉
#写入数据库
user = User()
user.username = username
user.headImg = headImg
#自动获取日期时间
now=datetime.datetime.now()
myNow=now.strftime('%Y-%m-%d %H:%M:%S')#时间,精确到秒
#myNow = now.strftime('%Y-%m-%d')#日期,精确到天
#将当前时间写入intime变量中
user.intime = myNow
user.save()
return HttpResponse('upload ok!')
else:
uf = UserForm()
return render_to_response('upload.html',{'uf':uf})
5、urls文件配置
6、配置setting文件
TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
'/helloworld/blog/templates'
) #MEDIA_ROOT是用户上传的文件存储的位置,是文件系统上的路径,
#FileField, ImageField里面的upload_to的相对路径就是相对于MEDIA_ROOT的。
MEDIA_ROOT = 'C:/djangoweb/helloworld/upload' # URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash.
# Examples: "http://example.com/media/", "http://media.example.com/"
MEDIA_URL = '/upload/'
7、修改upload.HTML
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>图片上传功能</title>
</head>
<body>
<h1>图片上传功能</h1>
<form method="post" enctype="multipart/form-data" >
{{uf.as_p}}
<input type="submit" value="ok"/>
</form> </body>
</html>
django之创建第10-1个项目-图片上传并记录上传时间的更多相关文章
- django之创建第10个项目-图片上传方式1
1.upload.HTMl <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang=& ...
- django之创建第8个项目-数据库配置及同步研究
1.sqlitestudio-2.1.5数据库可视化工具--百度云盘下载 2.编写C:\djangoweb\helloworld\blog\models.py文件 # Create your mode ...
- django之创建第12个项目-加载图片
百度云盘:django之创建第12个项目-加载图片 1.setting配置 #静态文件相关配置 # URL prefix for static files. # Example: "http ...
- django之创建第11个项目-页面整合
目的:将如下众多html页面整合到一个index.html页面中. 百度云盘:django之创建第11个项目-页面整合 用下面的方式实现: <!DOCTYPE html> <head ...
- django之创建第9个项目-管理后台admin
django之创建第9个项目-管理后台admin配置 1.配置setting文件INSTALLED_APPS = ( 'django.contrib.auth', 'django.cont ...
- django之创建第8-3个项目-数据库数据提取之高级操作
1.配置test2.html <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- django之创建第8-1个项目-数据库之增删改查/数据库数据显示在html页面
1.为test.DB数据库预先创建下面数据 1 张三 16 2015-01-02 12 李四 17 2015-01-04 13 王五 14 ...
- django之创建第7-4个项目-配置views文件实现url传值
即:怎么实现url?name=xiaodeng&age=28等类似传值处理 1.配置views文件 # Create your views here. #coding:utf-8 from d ...
- django之创建第7-3个项目-在站点blog下单独创建urls.py文件
1.在站点blog下单独创建urls.py文件 # -*- coding: UTF-8 -*- from django.conf.urls import patterns, include, url ...
随机推荐
- Java NIO SocketChannel
A Java NIO SocketChannel is a channel that is connected to a TCP network socket. It is Java NIO's eq ...
- 使用C#反射机制访问类的私有成员【转】
首先我必须承认访问一个类的私有成员不是什么好做法.大家也都知道私有成员在外部是不能被访问的.而一个类中会存在很多私有成员:如私有字段.私有属性.私有方法.对于私有成员访问,可以套用下面这种非常好的方式 ...
- B/S架构中常用弹出方法 (转)
<一> 在B/S架构的项目中,为了提高项目的易用性,增强系统与用户的交互功能,一般使用弹出页面来为用户提供操作或数据选择帮助信息,比如,用户输入一个编码中某些字符,在弹出页面中显示所有包含 ...
- Minimum Path Sum leetcode java
题目: Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right w ...
- 求职之C++小知识点整理
1.顺序容器 1.顺序容器:vector,deque,list,forward_list,array,string.其中除list和forward_list外,其它都支持快速随机访问. deque a ...
- [置顶] Hadoop2.2.0中HDFS的高可用性实现原理
在Hadoop2.0.0之前,NameNode(NN)在HDFS集群中存在单点故障(single point of failure),每一个集群中存在一个NameNode,如果NN所在的机器出现了故障 ...
- 转:EM算法总结
https://applenob.github.io/em.html EM算法总结 在概率模型中,最常用的模型参数估计方法应该就是最大似然法. EM算法本质上也是最大似然,它是针对模型中存在隐变量的情 ...
- fastText、TextCNN、TextRNN……这里有一套NLP文本分类深度学习方法库供你选择
https://mp.weixin.qq.com/s/_xILvfEMx3URcB-5C8vfTw 这个库的目的是探索用深度学习进行NLP文本分类的方法. 它具有文本分类的各种基准模型,还支持多标签分 ...
- GIT 如何合并另一个远程Git仓库的文件到本地仓库里某个指定子文件夹并不丢失远程提交记录?
问题背景: 最近在重新整理手中的一个项目,目前该项目分为PC项目,手机项目,某第三方接口项目,第三方接口服务项目和手机项目 因为之前规划的原因,原来的四个项目是分两个解决方案来管理的 ...
- Linux上传和下载之Xshell
一.安装与授权 安装时候需要注意的是,选择 Free For Home/School选项进行安装,如下图所示安装成功后 二.上传 上传需要使用rz命令,如下图所示,第一次可能会提示你命令无效或者提示你 ...