Django学习笔记之博客开发(一)
来源:互联网 发布:现在java 哪些开发工具 编辑:程序博客网 时间:2024/05/22 03:40
根据以前刚刚学习完的基础,我们来打造一个使用Django来编写的简单博客程序,其页面包括:
登入注册页面
博客列表页
博客编辑页
其功能包括:
注册登入
修改密码
写博客
修改删除博客
博客分页
好,基本的要求定义好了,我们就开始着手开发这个博客,我们首先来完成博客的登入和注册,整个HTML页面和css以及javascript我已经自己编写好了,我们只来说一下Django的代码部署。
我们按照步骤新建一个项目,命名为blog,数据库命名为blogs,建立一个名为register的应用,不会的话请看http://blog.csdn.net/liuyifeng123/article/details/9248227学习一下
然后修改好settings,生成数据库,然后我们定义注册的数据库名字叫reg,在models里面修改好数据字段信息下面我们就来开启shell操作一下测试
好,测试成功,下面我们使用html来后台调用Django
首先在templates下建立login.html和reg.html来设置好注册或者登入的from表单
设置urls和views
然后在setting里面设置好模板的路径,接下来,让我们来刷新一下http://127.0.0.1:8009/register/
我们发现成功了!!!
是不是感觉很炫~~
下面我们要做的就剩下了获取表单数据插入数据库里面了,让我们来继续
def log(request):try: account=request.POST['account'] password=request.POST['password'] s=Reg(account=account,password=password,time=timezone.now()) s.save() return render(request, 'register/detail.html',{'message':'注册完成!'})except IntegrityError: return render(request, 'register/reg.html',{'message':'数据出错!'})
这是我们操作写入数据库的内容
然后由于我们注册完成只后会进入到这样的一个url http://127.0.0.1/register/insert/
这时我们的css以及js就完全连接不上啦,所以我们加上一个缓冲的页面detail.html
<body><script>function re(){window.location="{% url 'register:login' %}"}window.onload=function(){window.setTimeout(re,5000)}</script>{% if message %}<p><strong>{{ message }}</strong></p>{% endif %}请等待五秒中跳转 </body>这时我们就会回到当开始登入的页面,这只是一个简单的注册,完全没有检验是否存在相同的用户名,下面我们加上检验的机制
try: account=request.POST['account'] if Reg.objects.filter(account=account):return render(request, 'register/reg.html',{'message':'用户名重复!'}) else:password=request.POST['password']s=Reg(account=account,password=password,time=timezone.now())s.save()return render(request, 'register/detail.html',{'message':'注册完成!'})except IntegrityError: return render(request, 'register/reg.html',{'message':'数据出错!'})这样就不会出现相同的用户名而导致在登入的时候出现混乱
接下来就是登入的时候了,我也是学了不久,有很多方法不是很熟悉,所以我就照着我自己的想法写的,希望有高手的话指点一下,谢谢啦~
首先在models里面加上
def __unicode__(self):return self.password
让其返回用户名对应的密码,然后进行比对
def login(request):account=request.POST['account']psd=Reg.objects.get(account=account)if request.POST['password']==str(psd):return render(request,'register/text.html',{'show':'密码正确!欢迎登入!'})else:return render(request,'register/text.html',{'show':'密码错误,请重试!'})
新建一个text.html模板,加上下面的内容
{% if show %}<p><strong>{{ show }}</strong></p>{% endif %}
然后就能测试密码的正确与否,就能实现登入的效果了,你也可以安全起见给密码设上sha1加密。
下一篇我们来做一下博客的编辑页面。
- Django学习笔记之博客开发(一)
- Django学习笔记之博客开发(二)
- Django学习笔记之博客开发(三)
- django学习笔记一:搭建简易博客
- Django Web开发学习笔记一
- django编写第一个博客学习笔记(一)
- Django学习笔记(一)
- Django 学习笔记[一]
- Django 学习笔记一
- Django 学习笔记(一)
- Django 学习笔记<一>
- django学习笔记一
- django学习笔记(一)
- Django 学习笔记一
- 基于Django开发的SkyNet博客一
- Django搭建简易博客开发笔记
- django学习笔记(一)
- django学习笔记(一)
- 学习时报刊《胡耀邦关于支持揭露康生的讲话》
- ubuntu12.04-i386安装vm-tools
- PowerDesigner生成sqlserver数据库脚本的方法
- 你不知道的Eclipse的用法:使用MAT分析Android的内存
- Android:从Eclipse到Android Studio迁移工程
- Django学习笔记之博客开发(一)
- BI项目管理
- C语言符号优先级
- SSH2复习题
- Oracle EBS R12 Code Level
- .NET 单点登录
- Extjs EditorGridPanel中ComboBox列的显示问题(默认显示键而不是值)
- 第三章 AOP 基于@Aspect的AOP
- bcm4330蓝牙分析总结