先在来研究一下Django博客中的博客编辑页面。
就如同csdn这样的编辑框吧,包括文章分类,图片上传,博客内容编辑这样简单的内容。
首先我们需要的还是最基本的东西:创建app。
在models里面添加需要的数据表edit以及字段:
sort:文章的标签
title:文章标题
content:文章内容
time:发布日期
我们将edit数据表设置Reg为外键
from django.db import models
from register.models import Reg
class Edit(models.Model):
edit=models.ForeignKey(Reg)
title=models.CharField(max_length=100)
sort=models.CharField(max_length=50)
content=models.CharField(max_length=9999)
time=models.DateTimeField('Pub_Time')
def __unicode__(self):
return self.title
然后修改register里面的admin文件
from django.contrib import admin
from register.models import Reg
from edit.models import Edit
class EditInline(admin.StackedInline):
model=Edit
extra=0
class RegisterAdmin(admin.ModelAdmin):
fieldsets = [
(None, {'fields': ['account']}),
(None, {'fields': ['password']}),
('Date information', {'fields': ['time']}),
]
inlines=[EditInline]
list_display = ('account','password','time')
list_filter = ['time']
search_fields = ['account']
date_hierarchy = 'time'
admin.site.register(Reg, RegisterAdmin)
接下来我们测试数据的写入
这时我们的数据写入成功(只是暂时不支持输入中文)
接下来我们要使用HTML来调用Django
我们在templates里面创建edit文件夹,edit文件夹里面创建index.html文件
<form action="{% url 'edit:write' %}" method="post">
{% csrf_token %}
<label> 标题: </label>
<input name="title" type="text" />
<label> 内容: </label>
<textarea name="content"></textarea>
<label> 标签: </label>
<input name="sort" type="text" />
<br>
<input type="submit" value="提交" class="btn btn-warning" />
</form>
是HTML里面的表单元素,下面我们将views里面加上一个session验证的方法
先确保在settings里面开启了session
settings.py中 确保 'django.contrib.sessions.middleware.SessionMiddleware'存在,如果没有则添加。
编辑settings.py中INSTALLED_APPS 配置,确保'django.contrib.sessions' (如果你是刚打开这个应用,别忘了运行 manage.py syncdb )
接下来在register的views的login函数里面加入这一行
request.session['account']=account
这样我们就已经开启了一个{account:'Tron'}这样类似的session,我们的博客确保是在登入的情况下才能发不,因为我们的register表与edit表存在着外键的关系
在edit的views里面也加上这样的代码,来判断是否存在我们需要的session
def write(request):
title=request.POST['title']
content=request.POST['content']
sort=request.POST['sort']
if 'account' in request.session:
p=Reg.objects.get(account=request.session['account']).act
pk=Reg.objects.get(pk=p)
pk.edit_set.create(title=title,content=content,sort=sort,time=timezone.now())
pk.save()
return render(request,'edit/index.html',{'result':'成功!'})
else:
return render(request,'edit/index.html',{'result':'请先登入'})
p=Reg.objects.get(account=request.session['account']).act
这一行中的act是我自己添加上的一个函数,用来返回id值,然后我们根据外键关系添加上数据库内容,下面我们就来测试一下
我这边测试成功了,你呢,不懂的可以在下面留言或者给我发邮件liu1feng@hotmail.com,或者关于python的基础知识,让我们一起进步吧~
下一篇我们来加上图片的上传,以及登入之后界面的展示,和列出发布过的博客内容。
分享到:
相关推荐
【描述】:“django学习” 在Python的世界里,Django是一个强大且受欢迎的Web框架,它遵循模型-视图-控制器(MVC)设计模式,用于快速开发高效且可维护的网站。Django强调代码复用,提供了丰富的内置功能,如ORM...
在本节学习笔记中,主要介绍了使用Django框架搭建博客时所涉及的数据模型(Model)的编写、数据库表文件的创建以及根据表文件建立真实数据库的过程。Django是一个高级的Python Web框架,它鼓励快速开发和干净、实用...
这是一个基于Django框架开发的学习笔记博客与网站后台管理系统的源码包。Django是一个高度流行的Python Web框架,它提供了一整套解决方案,包括数据库交互、模板引擎、表单处理以及用户认证等,使得开发者能够快速地...
Django,作为Python世界中最受欢迎的Web开发框架之一,以其高效、简洁和强大的功能著称。2019版千锋Django的源码与笔记资源,为初学者和进阶者提供了一个全面且深度的学习平台,它不仅包含了源代码,还配有思维导图...
通过深入学习以上知识点,并结合实际案例,您将能够熟练运用Django开发高效、安全的Web应用程序。记得实践是检验真理的唯一标准,动手操作是提升技能的关键。祝您在Django的学习道路上一帆风顺!
Django入门笔记主要涵盖以下几个关键知识点: 1. **创建项目**:Django是Python的一款Web框架,用于快速开发高效、可维护的网站。创建项目是使用Django的第一步,通过命令行工具`django-admin startproject project...
在本项目中,我们使用了Python的Web框架Django来开发一个名为“学习笔记”的博客系统。这个系统具有用户注册、登录以及权限管理等核心功能,使得用户可以安全地存储和访问自己的个人日记。以下是对这些功能的详细...
**Django-CoolBlog:基于Django开发的个人博客系统** Django-CoolBlog是一个用Python的Django框架构建的个人博客系统。Django是一个高级的、免费且开源的Web应用框架,它遵循模型-视图-控制器(MVC)的设计模式,...
【描述】提到的"教程"和"博文链接"指示这是一个在线分享的学习资源,作者在ITEYE博客平台上发布了关于Django的系列文章。通过链接(由于实际链接不可用,这里将不进行具体解读),读者可以逐步跟随教程学习,掌握...
【Python学习笔记】 在Python的世界里,学习笔记的标题“Python学习笔记”暗示我们将深入探讨Python编程的基础和高级概念。Python是一种广泛使用的高级编程语言,以其简洁明了的语法和强大的功能著称。它适用于各种...
【Django 笔记】 Django 是一个高度流行的 Python Web 开发框架,它以其高效、安全和可扩展性而闻名。Django 遵循 Model-View-Controller (MVC) 模式,但将其稍作修改为 Model-View-Template (MVT),将原本的 ...
这个项目为学习者提供了一个绝佳的实践平台,可以深入理解Python和Django的工作原理,掌握Web开发的基本流程,包括前端与后端的交互、数据的存储与查询、用户认证和授权、模板渲染等。此外,还可以通过阅读和修改...
“blog博客项目”标签进一步确认了这是一个关于博客开发的项目。在IT领域,开发博客项目通常会涉及以下技术栈: 1. **前端**:HTML、CSS、JavaScript是基础,可能会使用React、Vue.js或Angular等现代前端框架进行...
总之,"简记个人博客网站源码 v2.10.01.rar"是一个综合性的学习资源,涵盖了Web开发的多个层面,无论是对初学者还是经验丰富的开发者,都有很高的学习价值。通过深入研究和实践,可以提升Web开发技能,理解完整的...
【Django笔记】是关于Django框架的一系列学习记录,旨在深入理解并掌握这个流行的Python Web开发框架。Django是一个高效、强大且易用的开源Web应用框架,它遵循模型-视图-控制器(MVC)的设计模式,但在Django中被...
包含以下内容:计算机基础操作系统计算机网络计算机组成原理计算机编译原理Linux编程开发PythonC++JavaScriptDjango数据库相关MySQLRedisElasticsearch算法与数据结构Python数据结构与...admin轮子基于Django3的博客
**标题与描述解析** 标题“wiki:一个用于博客的学生实用django应用”表明这是一个基于...通过学习和理解这个应用,开发者可以深入掌握Django的Web开发技能,并了解如何将前后端技术相结合,打造用户友好的在线服务。
学习Python时,你可以从编写简单的脚本开始,逐步掌握上述概念,然后深入学习更高级的主题,如并发、网络编程、Web开发(如Django和Flask框架)以及数据分析和机器学习(如NumPy、Pandas和Scikit-learn库)。...
虽然入门笔记中的知识能够帮助学习者打好基础,但要真正精通Python和进行项目开发,还需要更多的学习和经验积累。这可能包括阅读更多的书籍、查看官方文档、参与开源项目、编写自己的代码、解决实际问题等。 通过...
【描述】:“curso_django1 储存库”指的是一个关于Django框架的学习资源集合,通常这样的存储库可能包含一系列教程、项目代码、笔记或其他辅助材料,旨在帮助用户掌握Django的使用。 【详细知识点】 1. Django...