1 文件系统 blog #博客类 App forms #表单 __init__.py user.py models #模型 __init__.py user.py static #静态文件 templates #模板 common #基类模板 base.html email #邮件 email.html errors #错误 error.html main #主页 index.html user #用户登录注册 login.html register.html views #视图蓝本 __ini…
这部分为Flask博客的登录页面加个验证码.使用了PIL模块生成验证码图片,并通过Flask的session机制,进行验证码验证. 1.生成验证码 使用string模块:string.ascii_letters+string.digits构造了验证码字符组合.使用的PIL模块,构建了图形对象,并进行划线和高斯模糊处理.绘制字符串时,draw.text的前两个参数为字符的位置,可以设置为随机数,使验证码各字符的位置不固定,并且相邻字符略有重合.get_verify_code返回了图形对象和字符串.…
0.效果演示 插入视频插不进来,就很烦.可以出门右拐去优酷看下(点我!). 1.准备工作 1.1前端框架 前端使用了基于vue.js的nuxt.js.为什么使用nuxt.js? 首先我做的是博客的项目,所以SSR至关重要.虽然跟本文要讲的登录注册没有什么关系,但是文章如果用axios来异步获取的话,那么搜索引擎是抓不到任何数据的.用nuxt.js可以说是为了整个项目考虑. 第二点就是省事,Nuxt.js的项目条理非常清晰,有非常方便的路由和模板功能,而且方便前端和服务端进行沟通.而且自动支持es…
0.效果演示 插入视频插不进来,就很烦.可以出门右拐去优酷看下(点我!). 1.后端搭建 1.1项目结构 首先看一下后端的server目录 挨个解释一下 首先dbs文件夹顾名思义,操作数据库的,modules就是操作数据库的mongoose模型. config.js是为了方便修改数据库数据. interface就是接口文件夹,utils就是工具的意思呗,接口需要用到的axios和账号集权的passport都在这里修改(passport是啥待会儿再细说). 和utils同级的就是users.js…
之前Flask博客的文本编辑器比较简陋,这里为博客添加个优雅易用的Tinymce文本编辑器. 1.项目中添加Tinymce 下载好Tinymce包以及语言包,并添加到项目中.添加到项目的方法,参考了这篇文章:Pyhton日记——给Flask加上优雅的TinyMCE编辑器.tinymce_setup.js是配置文件,设置了文本编辑器的语言.按钮等. 2.编辑器表单 为了和其它表单的风格保持一致,这里仍使用了Flask-wtf表单.配置文件tinymce_setup.js中标识了id为content…
web server博客项目 Node.js 从零开发 web server博客项目[项目介绍] Node.js 从零开发 web server博客项目[接口] Node.js 从零开发 web server博客项目[数据存储] Node.js 从零开发 web server博客项目[登录] Node.js 从零开发 web server博客项目[日志] Node.js 从零开发 web server博客项目[安全] Node.js 从零开发 web server博客项目[express重构博客…
每做一个项目,要记得写下心得哦,别偷懒啊!先上网址:https://www.maomin.club/ 这个项目属于博客类的,因为百度审核的问题就大体做了下,就当来练练手,里面文章链接的是CSDN的博客文章.前台使用的是vue,后台使用的是koa框架. 那么我们接下来看一下我做这个项目遇到的问题.一.实现后台数据实时更新博客文章列表 怎么才能只是修改数据库,动态更新列表呢?这里就用到了node的koa框架,这个框架我个人认为比较方便,比express好多了.其实作用也大差不差,对了,这里还用到了m…
简介 本次项目登录注册验证是对之前学习知识点的加深学习,这次项目的练习的知识点有函数.判断语句.循环语句.文件操作等. 项目流程 运行代码之后,输出登录或者注册选项. 当选择登录之后,输入用户名密码,如果该用户信息没有注册过,就输出登录失败,如果该用户信息已经注册过,就显示登录成功. 当选择注册之后,输入用户名密码,如果该用户信息没有注册过,就输出注册成功,如果该用户信息已经注册过,就显示用户名已经存在,注册失败. 代码流程 运行代之后首先执行main()函数,mian()函数中接收用户输入的用…
CSDN博客添加量子恒道统计代码步骤. 1. 去量子恒道网站统计 注册账户: 2. 添加已有的CSDN博客地址: 3. 添加博客后恒道代码里面会给你一个JavaScript脚本,记下里面的一串数字: 4. 在CSDN  --> 管理博客 --> 博客配置"里面,最下面填写上这串数字,保存配置: 保存之后过一会儿就可以看到统计数据了,直接上图.…
分享一款基于HTML5手机登录注册表单代码.这是一款鼠标点击注册登录按钮弹出表单,适合移动端使用.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="demo"> <nav class="main_nav"> <ul> <li><a class="cd-signin" href="#0">登录</a></li&…
上一篇博客介绍了comments库使用及ajax支持,现在blog已经具备了基本的功能,但是只能发表文字,不支持富文本编辑.今天我们利用markdown添加富文本支持. markdown语法说明: http://wowubuntu.com/markdown/ http://markdown.tw/ http://mahua.jser.me/ 推荐第三个,可以直接在线编辑markdown文档. django添加markdown支持 首先需要安装markdown  安装说明 : http://dar…
博客侧边栏公告(支持HTML代码)(支持JS代码) <div id='btnList'> <a class="ivu-btn ivu-btn-primary" href="https://cn.vuejs.org/v2/api/" target="_blank">Vue</a> <a class="ivu-btn ivu-btn-primary" href="https://…
先从小的实例来看form的用法 登陆验证实例,来看form的常规用法 1. forms.py # 用于登陆验证验证 from django.core.validators import RegexValidator 支持正则 # 登陆验证手动触发错误对象 from django.core.exceptions import ValidationError # 登陆规则 class loginform(Form): name = fields.CharField( required=True, m…
Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 reCAPTCHA 应用 reCAPTCHA 前文列表 用 Flask 来写个轻博客 (1) - 创建项目 用 Flask 来写个轻博客 (2) - Hello World! 用 Flask 来写个轻博客 (3) - (M)VC_连接 MySQL 和 SQLAlchemy 用 Flask 来写个轻博客 (4) - (M)VC_创建数据模型和表 用 Flask 来写个轻…
0-项目背景 一个基于.NET CORE RAZOR PAGES的简单博客系统 技术栈全部采用微软官方实现方式,目的是熟悉新技术 项目地址:https://github.com/ganqiyin/BLOGS PS:因为是练手,所以UI界面就比较丑咯 1-框架结构(参考ABP框架:因为是练手,所以没有使用ABP基础类,只是参考了他的架子) 1.1)后台用经典的MVC方式实现 1.2)前台打算使用.NetCore RazorPage页面实现 2-表结构 2.1)User - 后台用户 2.2)Mem…
Flask Web开发一书中,使用了与个人邮箱绑定的Gravatar图形作为用户头像.Gravatar提供的头像比较简陋,而且可能由于网络问题无法生成头像.多数社交网站和博客提供用户自定义头像功能,因此自己加上了自定义头像的功能. 思路:用户选择个人头像后,将头像文件上传到服务器端特定的文件夹中:在用户模型中添加字段,保存头像存储的路径,这样就实现了头像与用户的关联. 1.模型中添加头像路径字段 保留原有的avatar_hash字段,定义real_avatar字段用来存储头像地址. # mode…
最近使用GitHub Pages + Jekyll 搭建了个人博客,作为一名重度音乐患者,博客里面可以不配图,但是不能不配音乐啊. 遂在博客里面引入了网易云模块,这里要感谢网易云的分享机制,对开发者非常友好: 1.每首歌曲都支持生成外链播放器,且可以自定义显示尺寸: 2.网易云插件代码实例: <iframe frameborder="no" border="0" marginwidth="0" marginheight="0&qu…
Tumblr(汤博乐)成立于2007年,是目前全球最大的轻博客网站,也是轻博客网站的始祖. Tumblr是一种介于传统博客和微博之间的全新媒体形态,既注重表达,又注重社交,而且注重个性化设置,成为当前最受年轻人欢迎的社交网站之一.内容页采用瀑布流的网页排版方式,可展现丰富内容. 此原型模板所用到的组件有按钮.搜索框.矩形工具.交互动作有结合圆形按钮实现页面跳转,鼠标悬停文字按钮颜色改变效果. 本原型由国产Mockplus(原型工具)和iDoc(智能标注,一键切图工具)提供. 点击这里,可以立即在…
从今以后,所有的源码在 http://www.xiaotublog.com/downloadView.html 都可以免费下载,在下载页面还可以直接链接到相关的教程地址(如果有教程的话...). 最近工作太忙了,很久没有更新,等空闲下来,我会继续更新博客的.当然,有问题的话,也可以加群,群里讨论问题的氛围还是相当不错,虽然我不一定会在群里时刻解答问题,不过群里的朋友大多比较热心.…
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JSP+JavaBean开发模式,通过这个用户登录注册程序综合案例,把之前的学过的XML.Xpat…
以下jsp中,未使用样式表对网页进行排版和表单的验证(每个jsp的表单填写的时候应该进行空值与空格的验证,防止提交时出错) 所有错误,链接到error.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01…
因为觉得博客园自带的代码高亮样式很单一,不符合作为前端的我的审美习惯,于是下定决心要想办法折腾出一个方法来应用上另外一套代码高亮样式. 虽然探索的过程是很痛苦的,但最后还是成功了,但也不枉付出的那些努力.近来有网友问及如何实现,现分享出来,看完本文后你也可以把自己博客的代码整得漂亮些,让别人看着舒服些了. 方法其实是很麻烦的,即使是写了好几篇博客了对这个过程我已经娴熟了,但其实也还是挻麻烦的.不过谁叫我有是个偏执狂呢,为了让页面漂亮我愿麻烦自己,舒服大家.如果你有更好的方法那当然更好. 安装su…
参考GIT版本管理:Git Flow模型,在此基础上加入了自己的理解,增加人员分工和相应代码,并根据本次项目的实际情况进行相应修改. 在本学期的软件工程开发过程中,我们从alpha阶段就使用了git flow模型进行git代码版本管理.鉴于我们的开发团队存在开发人数较少(7人).任务周期固定(一次任务持续半周/一周).成员各自任务之间关联性小.无需在版本发布前完成全面测试的特点,将传统的git flow模型进行了简化和实践. 本篇博客讲解我们使用的简化git flow模型,并提供了我们用到的所有…
最近的类看着很疼,坚持就是胜利~~~ python中的类,什么是类?类是由属性和方法组成的.类中可能有很多属性,以及方法. 我们这样定义一个类: 前面是class关键字 后面school是一个类的名字,在后面就是圆括号和括号里面的object关键字,它是跟类,所有的类继承它.最后记住冒号结尾. class school (object): # object就是根类,在python3中要这样写的固有格式吧,不在深入研究它 创建好类后,类的内部代码块,会有类的属性和类的方法,因为类是由类的属性和方法…
Form验证的原理 首先用户在注册界面提交表单,后台收到表单之后通过request.post取到数据然后传入已经写好的Form类 执行obj.is_valid()这里的obj为Form的实例,在Form类里面对字段一个一个进行验证先执行正则匹配然后执行clean方法 这里的clean方法就是一个钩子,但是不能在验证某个字段的时候调用其他字段,原因是这个时候其他字段不能确定是否验证完成了 需要在所有字段验证之后再执行这个钩子(clean方法)具体实现方法如下: __________________…
头像预览 $("#avatar_file").change(function(){ // 获取上传的文件对象 var file=$(this)[0].files[0]; // 读取文件的URL // 创建阅读器 var reader=new FileReader(); // 读取file的URL reader.readAsDataURL(file); // 监听读取,onload在读完之后触发事件(是给DOM对象绑定事件) reader.onload=function() { // t…
背景说明: 大学时毕业设计作品,一直闲置在硬盘了,倒想着不如开源出来,也许会对一些人有帮助呢,而且个人觉得这个网站做得还是不错了,毕竟是花了不少心思,希望对你有所帮助. github地址:https://github.com/xueying/QSWebProject 参考来源: http://www.cnblogs.com/inline/p/3865186.html http://ddmvc4.codeplex.com/ 网站介绍: 该网站采用UnitOfwork框架,前端和后台在实现过程中引用…
今天咱来实现后台的登录. 首先我们的后台需要三个控制器: PostController:管理文章. TagController:管理文章标签. UploadController:上传文件. 当我们访问后台时需要登录 就要实现自动跳转到登录界面. 1 编写路由 /** * Home */ Route::get('/', function () { // 重定向到 /blog 路由 return redirect('/blog'); }); Route::get('/blog', 'BlogCont…
我们在上一篇文章中已经讲解了cas4.2.X登录启用mongodb验证方式 单点登录(十三)-----实战-----cas4.2.X登录启用mongodb验证方式完整流程 但是密码是明文存储的,也就是说 数据库里password存的是什么,跟用户填写的密码是一样的. 但是一般来说 我们需要对用户的密码进行加密后才存储入库. 登录时对照密码 就需要对用户填写的密码进行同种类型的加密之后再对照. cas加密方式分析 cas5.0.X默认提供了4种配置 # cas.authn.mongo.passwo…
/** *一览(www.yl1001.com) * PHP开发API接口 服务端 */ require 'conn.php'; //连接数据库的文件 header('Content-Type:text/html;charset=utf-8'); $action = $_GET['action']; switch ($action) { //注册会员 case"adduserinfo"; $username = lib_replace_end_tag(trim($_GET['userna…