期末作品检查

1、学期个人总结

       在这个学期在杜老师的带领下学习了Python语言,这是一门相对于Java语言来说是比较简单的语言,用处也十分的广大。python是一种面向对象的解释型计算机程序设计语言,语法简洁清晰,目前已超越java成为最热门的编程语言之一。python是一种面向对象的解释型计算机程序设计语言,由荷兰人于1989年发明,Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。

       在前期的学习中,我们用Python进行简单算数计算。了解turtle库(海龟库),在此环境中练习条件、循环、函数定义的代码敲打,并画出了五角星、同心圆、太阳花、中国国旗等。随后便学习了字符串的基本操作,学会输入字符串,输出代码计算后的结果。还有凯撒密码、GDP格式化输出、九九乘法表等简单操作。利用python进行英文词汇统计,组合数据类型练习,用文件形式实现完成的英文词频统计、中文词频统计。利用datetime处理日期和时间,将字符串转化成imestamp与timedelta等等。

后期我们使用了PyCharm学会了网页的开发设计,也是第一次接触到了前段,还有连接数据库,引用了上学期学习的对数据库的增删查改的功能。第一次自己设计网站,觉得还是挺满意的,但是这其中还是存在着很多的不足需要改善,之后会继续努力学习Python语言,以改善现阶段的这个不完善的项目。

 

2、使用工具

在Python开发过程中,我们使用的主要工具是pycharm软件,使用到的还有数据库。

 

3、完成基本的网页设计

(1)网站父模板统一布局:头部导航条、底部图片导航、中间主显示区域布局

 

(2)注册页面

 

(3)登录页面

 

(4)发布问答,需要用户登录才能发布问答。

 

(5)用户登录后的用户账号和注销功能。

 

(6)用户发布问答

 

(7)查找功能

 

(8)个人中心

 

(4)部分代码演示

(1)父模板的继承与静态页面的加载

{% extends 'base.html' %}
{% block registertitle %}{% endblock %}
{% block registerhead %}{% block body %}
{% block body %}{% endblock %}

(2)引用第三方库

from flask import Flask,render_template,request,redirect,url_for,session
from flask_sqlalchemy import SQLAlchemy
import config
from functools import wraps
from sqlalchemy import or_,and_
from datetime import datetime

(3)数据库的创建以及增删查改功能

class User(db.Model):__tablename__='user'id=db.Column(db.Integer,primary_key=True,autoincrement=True)username=db.Column(db.String(20),nullable=False)password=db.Column(db.String(20),nullable=False)nickname=db.Column(db.String(50))class Question(db.Model):__tablename__='question'id=db.Column(db.Integer,primary_key=True,autoincrement=True)title=db.Column(db.String(100),nullable=False)detail=db.Column(db.Text,nullable=False)creat_time=db.Column(db.DateTime,default=datetime.now)author_id=db.Column(db.Integer,db.ForeignKey('user.id'))author=db.relationship('User',backref=db.backref('question'))class Comment(db.Model):__tablename__='comment'id=db.Column(db.Integer,primary_key=True,autoincrement=True)author_id=db.Column(db.Integer,db.ForeignKey('user.id'))question_id=db.Column(db.Integer,db.ForeignKey('question.id'))detail=db.Column(db.Text,nullable=False)creat_time=db.Column(db.DateTime,default=datetime.now)question=db.relationship('Question',backref=db.backref('comments',order_by=creat_time.desc))author=db.relationship('User',backref=db.backref('comments'))
#查询
#user = User.query.filter(User.username == 'nini').first()
#print(user.id,user.password)#修改
#user = User.query.filter(User.username == 'ninini1').first()
#user.password='123456'
#user.username='nana'
#db.session.commit()
#print(user.id,user.password)#删除
#user = User.query.filter(User.username=='nana').first()
#db.session.delete(user)
#db.session.commit()#增加
#user = User(username='dadada',password='111111')
#db.session.add(user)
#db.session.commit()

(4)连接数据库

import osDEBUG =TrueSECRET_KEY = os.urandom(24)DIALECT ='mysql'
DRIVER ='mysqldb'
USERNAME='root'
PASSWORD=''
HOST='localhost'
PORT='3306'
DATABASE='ni_db'SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:@127.0.0.1:3306/ni_db?charset=utf8'
SQLALCHEMY_TRACK_MODIFICATIONS = False

(5)密码保护

@propertydef password(self):  #外部使用return self._password@password.setterdef password(self,row_password):self._password=generate_password_hash(row_password)def check_password(self,row_password):result=check_password_hash(self._password,row_password)return result

 

转载于:https://www.cnblogs.com/nigongbin/p/8202598.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/284572.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# 通过不安全代码看内存加载

(注:本篇用点长,有点绕,耐心浏览)C#中类型分为值类型和引用类型,值类型存储在堆栈中,是栈结构,先进后出,引用类型存储在托管堆中。接下来用不安全代码的地址,…

ArcGIS实验教程——实验四十五:坐标直接转点、线、面案例教程(Create Features From Text File)

外业实测坐标(X、Y、Z)在ArcGIS中可以方便的生成点、点自动连成线、线转面。本实验讲解ArcGIS中从数据文件创建要素工具(Create Features From Text File)生成点、线、面。 文章目录 一、工具快速入门1. 工具添加2. 工具用法二、工具使用方法1. 创建点(Point)2. 创建多点…

湖北省软件行业协会会员单位全名录(2014年的信息)

理事长单位 1.烽火通信科技股份有限公司 副理事长单位(排名不分先后) 2.武汉大学计算机学院 3.武汉天喻信息产业股份有限公司 4.武汉开目信息技术有限责任公司 5.武汉钢铁工程技术集团自动化有限责任公司 6.武汉菲旺软件技术有限责任公司 7.立得空间信息…

静态html引入js添加随机数后缀防止缓存

在web项目开发中&#xff0c;页面引入js被修改时&#xff0c;为避免浏览器缓存引起的问题&#xff0c;在引入js时&#xff0c;给js名后面加上随机数&#xff0c;以保证每次都发送新的请求。 在jsp中&#xff0c;一般通过后台取随机数即可&#xff0c;代码如下: <script src&…

[转]SDK与API区别

转载&#xff1a;https://www.zhihu.com/question/21691705/answer/149935191 SDK&#xff08;software development kit&#xff09;&#xff0c;中文可译为“软件开发工具包”。 一般都是一些被软件工程师用于为特定的软件包、软件架构、硬件平台、操作系统等建立应用软件的开…

详谈如何定制自己的博客园皮肤【转】

转自&#xff1a;http://www.cnblogs.com/jingmoxukong/p/7826982.html 目录 前言Quickstart定制博客园 CSS 的原理页面定制CSS代码博客侧边栏公告页首Html代码页脚Html代码定制细节独立控件小老鼠游戏动画动画时钟百度分享栏Github 角标签云背景动画动态标题文章内容样式定制带…

【ArcGIS微课1000例】0025:ArcGIS Online当前未连接到在线资源终极解决办法

ArcGIS Online在线资源列表: World Imagery: 底图服务: 中国地图彩色版: 打开ArcGIS时,系统托盘提示“ArcGIS Online当前未连接到在线资源”,如下图所示,如果无法连接到ArcGIS Online,则就无法添加在线资源,如World Imagery等。 关于该问题,网上有多种解决办法,然而…

学习.NET ,提升.NET技能,这些公众号得关注

时逢七月&#xff0c;白云在天&#xff0c;绿水环山&#xff0c;甚是悠闲。可是&#xff0c;学路上的我们却四处彷徨。学海无涯&#xff0c;我仍苦寻渡口&#xff1b;学路漫漫&#xff0c;我却愁无舟楫。我不禁四下扫视&#xff0c;自语问天&#xff0c;学须有成&#xff0c;可…

Excel表格从指定部分重新分页打印的两种方法

Excel表格现在已经成为了一个极其重要的办公工具&#xff0c;尤其是在数据处理方面&#xff0c;它可以进行各种数据的处理、统计分析和辅助决策操作&#xff0c;但是在日常工作中我们经常对一些功能无从下手&#xff0c;例如在进行表格内容打印时&#xff0c;需要将其中内容从某…

华为笔记本Win11更新时由于驱动问题引起蓝牙鼠标经常断开问题解决方法

每次Win11升级后如果发现蓝牙鼠标经常断开&#xff0c;打开“华为电脑管家”执行以下操作即可&#xff1a; 然后更新蓝牙驱动 重启电脑OK。

【ArcGIS微课1000例】0026:ArcGIS10如何自定义工具条?

ArcGIS中,可以创建用户工具条,将自己常用的工具命令放到一起,方便实用提高工作效率。本文讲解如何自定义工具条并添加与删除工具。 1. 创建工具条 点击【自定义】菜单→【自定义模式】,如下图所示: 或者在任一工具条上点击最后面的下拉三角形→自定义: 以上两种方法都可…

基于 KubeSphere 流水线的 GitOps 最佳实践

背景Kubesphere 3.3.0 集成了 ArgoCD&#xff0c;但与笔者目前使用的 K8S 版本不兼容。再者&#xff0c;目前 Kubesphere 中持续集成和流水线打通还是不太友好&#xff0c;也缺少文档说明&#xff08;可能是笔者没有找到&#xff09;。目前遇到最主要的问题就是流水线制作完成的…

【ArcGIS微课1000例】0027:ArcGIS属性表(dbf)转Excel的4中方法

ArcGIS中的矢量数据Shapefile属性表存放在后缀名为.dbf的文件中,它是GIS数据分析的核心,如果将属性表转为别的平台使用,一般需要将其转为Excel格式。本文以ArcGIS自带矢量数据continent为例,讲解dbf转excel的常见4种方法。 文章目录 1. 表转Excel工具2. 直接打开3. 导出属性…

微信公众号自定义菜单直接跳转到小程序指定页面

首页我们要先拿到需要的小程序的页面地址&#xff1a;&#xff08;如何拿到小程序页面地址自行百度&#xff09; 然后登录公众号后台&#xff0c;添加自定义菜单&#xff1a; 菜单的路径选择“跳转小程序” &#xff0c;从绑定的小程序中选择要跳转的小程序&#xff0c;默认小程…

javascript高级程序设计 学习笔记 第五章 上

第五章引用类型的值(对象)是引用类型的一个实例。在 ECMAScript 中,引用类型是一种数据结构, 用于将数据和功能组织在一起。它也常被称为类,但这种称呼并不妥当。尽管 ECMAScript 从技术上讲是一门面向对象的语言,但它不具备传统的面向对象语言所支持的类和接口等基本结构。引用…

Windows Hook

啥是windows的钩子&#xff1f;钩子故名思议就是在嵌入到正常执行程序的功能。对于windows来说&#xff0c;每个系统和应用程序之间的交互是使用消息机制来进行。比如点击应用程序上面的某个按钮&#xff0c;就是发送了事件给了应用程序。windows钩子的作用就是在事件发送给应用…

HTTP协议之Expect爬坑

前言今天&#xff0c;在对接一个第三方平台开放接口时遇到一个很棘手的问题&#xff0c;根据接口文档组装好报文&#xff0c;使用HttpClient发起POST请求时一直超时&#xff0c;对方服务器一直不给任何响应。发起请求的代码如下&#xff1a;using (var httpClient new HttpCli…

【ArcGIS微课1000例】0028:ArcGIS根据属性快速分割生成多个shp文件

ArcGIS10.5及以上的版本提供了按属性分割工具,(分析工具->提取->按属性分割)工具。也可以使用10.2版本的分割工具,效果应该是一样的。本文演示使用分割工具批量快速提取一个县范围内的多个镇,生成多个镇矢量shp数据。 扩展阅读:【ArcGIS遇上Python】ArcGIS Python按…

Win11 恢复 Win10经典右键菜单 亲测有效

管理员运行命令&#xff1a; reg.exe add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve reg.exe add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve 重…

把一个字符串里符合表情文字标签的地方全部替换为相应的图片的方法

1、表情数据&#xff1a; var emotion [{"name": "Expression_1","text": "[微笑]"},{"name": "Expression_2","text": "[撇嘴]"},{"name": "Expression_3","text&…