期末作品检查
1、學(xué)期個(gè)人總結(jié)
? ? ? ?在這個(gè)學(xué)期在杜老師的帶領(lǐng)下學(xué)習(xí)了Python語(yǔ)言,這是一門(mén)相對(duì)于Java語(yǔ)言來(lái)說(shuō)是比較簡(jiǎn)單的語(yǔ)言,用處也十分的廣大。python是一種面向?qū)ο蟮慕忉屝陀?jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,語(yǔ)法簡(jiǎn)潔清晰,目前已超越j(luò)ava成為最熱門(mén)的編程語(yǔ)言之一。python是一種面向?qū)ο蟮慕忉屝陀?jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,由荷蘭人于1989年發(fā)明,Python是純粹的自由軟件, 源代碼和解釋器CPython遵循 GPL協(xié)議。Python語(yǔ)法簡(jiǎn)潔清晰,特色之一是強(qiáng)制用空白符(white space)作為語(yǔ)句縮進(jìn)。
? ? ? ?在前期的學(xué)習(xí)中,我們用Python進(jìn)行簡(jiǎn)單算數(shù)計(jì)算。了解turtle庫(kù)(海龜庫(kù)),在此環(huán)境中練習(xí)條件、循環(huán)、函數(shù)定義的代碼敲打,并畫(huà)出了五角星、同心圓、太陽(yáng)花、中國(guó)國(guó)旗等。隨后便學(xué)習(xí)了字符串的基本操作,學(xué)會(huì)輸入字符串,輸出代碼計(jì)算后的結(jié)果。還有凱撒密碼、GDP格式化輸出、九九乘法表等簡(jiǎn)單操作。利用python進(jìn)行英文詞匯統(tǒng)計(jì),組合數(shù)據(jù)類型練習(xí),用文件形式實(shí)現(xiàn)完成的英文詞頻統(tǒng)計(jì)、中文詞頻統(tǒng)計(jì)。利用datetime處理日期和時(shí)間,將字符串轉(zhuǎn)化成imestamp與timedelta等等。
后期我們使用了PyCharm學(xué)會(huì)了網(wǎng)頁(yè)的開(kāi)發(fā)設(shè)計(jì),也是第一次接觸到了前段,還有連接數(shù)據(jù)庫(kù),引用了上學(xué)期學(xué)習(xí)的對(duì)數(shù)據(jù)庫(kù)的增刪查改的功能。第一次自己設(shè)計(jì)網(wǎng)站,覺(jué)得還是挺滿意的,但是這其中還是存在著很多的不足需要改善,之后會(huì)繼續(xù)努力學(xué)習(xí)Python語(yǔ)言,以改善現(xiàn)階段的這個(gè)不完善的項(xiàng)目。
?
2、使用工具
在Python開(kāi)發(fā)過(guò)程中,我們使用的主要工具是pycharm軟件,使用到的還有數(shù)據(jù)庫(kù)。
?
3、完成基本的網(wǎng)頁(yè)設(shè)計(jì)
(1)網(wǎng)站父模板統(tǒng)一布局:頭部導(dǎo)航條、底部圖片導(dǎo)航、中間主顯示區(qū)域布局
?
(2)注冊(cè)頁(yè)面
?
(3)登錄頁(yè)面
?
(4)發(fā)布問(wèn)答,需要用戶登錄才能發(fā)布問(wèn)答。
?
(5)用戶登錄后的用戶賬號(hào)和注銷功能。
?
(6)用戶發(fā)布問(wèn)答
?
(7)查找功能
?
(8)個(gè)人中心
?
(4)部分代碼演示
(1)父模板的繼承與靜態(tài)頁(yè)面的加載
{% extends 'base.html' %} {% block registertitle %}{% endblock %} {% block registerhead %}{% block body %} {% block body %}{% endblock %}(2)引用第三方庫(kù)
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)數(shù)據(jù)庫(kù)的創(chuàng)建以及增刪查改功能
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)連接數(shù)據(jù)庫(kù)
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)密碼保護(hù)
@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?
轉(zhuǎn)載于:https://www.cnblogs.com/nigongbin/p/8202598.html
總結(jié)
- 上一篇: Python的MySQLdb模块安装
- 下一篇: 详谈如何定制自己的博客园皮肤【转】