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 条件编译
在C/C++中,使用#ifdef…#endif的代码,如果不满足条件,编译器是不会对这部分代码进行编译的.Java中并没有这种“条件编译”特性.这种特性在C语言里是用来解决代码的跨平台问题的,可以通过 ...
- Dropout原理解析
1. Dropout简介 1.1 Dropout出现的原因 在机器学习的模型中,如果模型的参数太多,而训练样本又太少,训练出来的模型很容易产生过拟合的现象.在训练神经网络的时候经常会遇到过拟合的问题, ...
- Android studio 编译失败Error:Could not read entry ':app:processDebugManifest' from cache taskArtifacts.b
Android studio 编译失败 Error:Could not read entry ':app:processDebugManifest' from cache taskArtifacts. ...
- Jackson 转换JSON,SpringMVC ajax 输出,当值为null或者空不输出字段@JsonInclude
当我们提供接口的时候, Ajax 返回的时候,当对象在转换 JSON (序列化)的时候,值为null或者为“” 的字段还是输出来了.看上去不优雅. 现在我叙述三种方式来控制这种情况. 注解的方式( @ ...
- 双语:Interprocess Communication 进程通信
when one process creates a new process, the identity of the newly created process is passed to the p ...
- 为sharepoint的内部页面添加后台代码
我们知道,存储在数据库里的SharePoint页面是不能直接添加后台代码的,这给我们带来了很多的不方便,比如想要在页面上实现一些东西,都必 须使用Webpart或者自定义控件的方式,哪怕仅仅是很简单的 ...
- SharePoint SPListItem 权限设置
namespace Microsoft.SharePoint { using System; using System.Text; using System.Collections.Generic; ...
- ASP.NET MVC3 学习心得------路由机制
9.1 理解URL URL满足的要求: l 域名易于记忆和拼写 l 简短.易输入 l 可以反应出站点的结构 l 可破解,用户可以通过移除URL的末尾,进而达到更高层次的信息体系结构 l 持久.不能变化 ...
- Android模仿三星手机系统滑动条滑动时滑块变大的特效
使用三星手机的过程中发现三星手机系统自带的滑动条有一个特效.比方调节亮度的滑动条.在滑动滑块的过程中,滑块会变大.功能非常小可是体验却非常好,于是决定做一个这种效果出来.好了废话不多说了,以下開始实现 ...
- 关于Spring mvc 一次请求Controller执行两次的问题
资源路径为空时也会导致重复请求.< span style="background-image:url('');" >相关推荐< /span >,此时就会出现 ...