总结
1.Django 对css静态文件的处理
-
第一步:首先需要在settings文件中指定静态文件的存储路径,可以使用Django模板引擎语 法提示,如STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"), ),这种方式必须要在 DEBUG模型下使用,也就是让DEBUG等于True;
-
第二步:在static目录中创建css目录,创建一个base.css文件, 将之前的base.html页面中的 css样式复制进来;
-
第三步:编辑base.html页面,将内联的css样式删除使用外链的css文件,可以先通过{% load staticfiles %}引入加载器staticfiles ,然后再使用模版语法
<link rel="stylesheet" href="{% static 'css/base.css' %}">
的形式导入外部css文件,static表示现在的路径目录;
2.Django 对image静态文件的处理
-
第一步:在settings文件中添加指定静态文件的存储路径;
-
第二步:在static目录下创建image目录,且拷贝图片到目录下;
-
第三步:引入加载器staticfiles ,然后再使用
< img src="{% static 'images/图片名称' %}" alt="Python P1阶段">
的形式导入图片;
3.Django 对用户上传图片的处理
- 对于文件或图片上传在HTML页面中一般是通过form表单的post方法,编码类型 为:"multipart/form-data",且form表单提交需要csrf token认证 如:
{% csrf_token %}
;
4.图片上传
-
第一步:在usersAPP中的urls.py文件中,添加一条路由:
url(r'^images/$', ImageView.as_view(), name='image')
; -
第二步:在usersAPP中的views.py文件中,创建处理请求的ImageView类;
-
第三步:在usersAPP中的templates目录中,创建images.html;
-
第四步:在usersAPP中的models.py中,创建Image Model表,用来存储用户上传图片的 路径和图片的名称;
-
第五步:在setting文件中,添加MEDIA_ROOT,指定图片上传的位置为项目根目录下的 media目录;
5.图片访问
-
第一步:在users APP中的users 中的urls.py文件中添加:
url(r'^show_images/(?P<image_name>\w+.(png|jpg|jpeg))$', ShowImageView.as_view(), name='show_images'),
; -
第二步:在users APP中的views.py中,创建请求的ShowImageView类;
-
第三步:在users APP中的templates目录中,创建show_image.html;
-
第四步:在settings文件中,添加MEDIA_URL;