1.總結:html
在前期Python的基礎課程中學習到了turtle庫的基礎練習、字符串的基本操做、凱撒密碼 、GDP格式化輸出、99乘法表、中英文詞頻統計、和datetime處理日期和時間等等基礎學習。其中最有趣的也是最簡單的就是turtle庫的基礎練習,畫出五角星,比較好玩,在後來網頁製做的課程中我學習各類網頁前端頁面的效果,還有後臺鏈接數據庫,並學會在網頁上利用pysql庫代碼對數據庫的數據進行增刪查改,在頁面顯示效果。最後作出了一個較爲粗糙的論壇網站,模仿了老師上課講的,看了截圖,請教了同窗才作出一個簡單的網站。在從此還會繼續學習Python的。我剛剛開始接觸到Python這門編程語言的時候,就發現相比以往學習的java這門編程語言中,這門語言更容易入門,代碼較爲精簡,而功能很是齊全,不止能夠用來製做網頁,並且能夠進行數據挖掘,而我在學習中能夠很快的上手,而且比較有興趣的去打代碼,不像以往打JAVA代碼同樣很是的煩悶,能夠較爲輕鬆的心態去作好Python,有一句程序員們調侃的一句話,叫:」人生苦短,我學Python」。前端
2.總結Python+Flask+MysqL的web建設技術過程:java
前言及前期準備:運用到了python,flask,mysql,render_template,request,redirect,url_for,session,SQLAlchemy,flask_sqlalchemy等來進行web的構建。python
系統軟件:pycharm,navicat,內網址填入localhost,外網域名根據本身喜歡的名字填寫,創建本身網站的數據庫名,才能訪問建立的該頁面mysql
前期工做:分別寫網頁所須要的html文件,再而從py文件,創建相應的數據庫傳到網頁,若須要裝飾器,還要定義裝飾器,這個裝飾器的做用就是將地址與方法名聯繫起來,當HTTP請求的url時候將調用方法進行處理。也就是創建了url與處理函數的映射。程序員
from flask import Flask
from flask import render_template, request, redirect, url_for, session
import config
from functools import wraps
from datetime import datetime
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import or_,and_
from werkzeug.security import generate_password_hash,check_password_hash
app = Flask(__name__)
app.config.from_object(config)
db = SQLAlchemy(app)
前端實現:web
登錄:sql
{% extends 'base.html' %}
{% block title %}
登陸
{% endblock %}
{% block link %}
{% endblock %}
{% block box %}
<div class="container" style="padding-top: 200px;">
<div class="row clearfix">
<div class="col-md-2 column">
</div>
<div class="col-md-8 column">
<form class="form-horizontal" role="form" method="post" action="{{ url_for('login') }}">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">帳號</label>
<div class="col-sm-10">
<input type="text" name="username" class="form-control" id="inputEmail3"/>
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">密碼</label>
<div class="col-sm-10">
<input type="password" name="password" class="form-control" id="inputPassword3"/>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
<label><input type="checkbox"/>Remember me</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">登陸</button>
</div>
</div>
</form>
</div>
<div class="col-md-2 column">
</div>
</div>
</div>
{% endblock %}
{% block script %}
{% endblock %}
註冊:數據庫
{% extends 'base.html' %}
{% block title %}
註冊
{% endblock %}
{% block link %}
{% endblock %}
{% block box %}
<div class="container" style="padding-top: 200px;">
<div class="row clearfix">
<div class="col-md-2 column">
</div>
<div class="col-md-8 column">
<form class="form-horizontal" role="form" method="post" action="{{ url_for('regist') }}">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">帳號</label>
<div class="col-sm-10">
<input type="text" name="username" class="form-control" id="inputEmail3" required/>
</div>
</div>
<div class="form-group">
<label for="Password1" class="col-sm-2 control-label">密碼</label>
<div class="col-sm-10">
<input type="password" name="password" class="form-control" id="Password1" required/>
</div>
</div>
<div class="form-group">
<label for="Password2" class="col-sm-2 control-label">確認密碼</label>
<div class="col-sm-10">
<input type="password" class="form-control" id="Password2"required/>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" onclick="return aaa()" class="btn btn-default">註冊</button>
</div>
</div>
</form>
</div>
<div class="col-md-2 column">
</div>
</div>
</div>
{% endblock %}
{% block script %}
<script>
function aaa() {
var p1 = document.getElementById('Password1')
var p2 = document.getElementById('Password2')
if (p1.value != p2.value){
alert('兩次密碼不同!')
return false;
}
return true;
}
</script>
{% endblock %}
我的中心:
{% extends 'base.html' %}
{% block title %}
我的中心
{% endblock %}
{% block link %}
{% endblock %}
{% block box %}
<div class="container">
<div class="row clearfix">
<div class="col-md-2 column">
</div>
<div class="col-md-8 column">
<ul class="nav nav-tabs">
<li role="presentation"><a href="{{ url_for('comment',user_id=user2.id,num='1') }}">所有問題</a></li>
<li role="presentation"><a href="{{ url_for('comment',user_id=user2.id,num='2') }}">所有評論</a></li>
<li role="presentation"><a href="{{ url_for('comment',user_id=user2.id,num='3') }}">我的信息</a></li>
</ul>
{% block subComment %}{% endblock %}
</div>
<div class="col-md-2 column">
</div>
</div>
</div>
{% endblock %}
{% block script %}
{% endblock %}
詳情頁:
{% extends 'base.html' %}
{% block title %}
詳情頁
{% endblock %}
{% block link %}
{% endblock %}
{% block box %}
<div class="container">
<div class="row clearfix">
<div class="col-md-2 column">
</div>
<div class="col-md-8 column">
<h3>{{ ques.title }}</h3>
<div style="padding: 20px;">
{{ ques.detail }}
</div>
<hr>
<form class="form-horizontal" role="form" method="post" action="{{ url_for('answer') }}">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">評論內容</label>
<div class="col-sm-10">
<input type="text" name="author_id" value="{{ user.id }}" hidden>
<input type="text" name="question_id" value="{{ ques.id }}" hidden>
<textarea class="form-control" name="detail" rows="10"></textarea>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">發佈</button>
</div>
</div>
</form>
<hr>
<h1>用戶評論</h1><br>
<ul>
{% for com in comment %}
<li class="list-group-item">
<h4>{{ com.author.username }}</h4>
<div>
{{ com.detail }}
</div>
</li>
{% endfor %}
</ul>
</div>
<div class="col-md-2 column">
</div>
</div>
</div>
{% endblock %}
{% block script %}
{% endblock %}
首頁:
{% extends 'base.html' %}
{% block title %}
首頁
{% endblock %}
{% block link %}
{% endblock %}
{% block box %}
<div class="container">
<div class="row clearfix">
<div class="col-md-2 column">
</div>
<div class="col-md-8 column">
<ul class="list-group">
{% for foo in questions %}
<li class="list-group-item" style="width: 800px">
<a class="wrap-img" href="#" target="_blank">
<img src="http://www.bookmarkye.com/3.jpg" width="50px">
</a>
<span class="glyphicon glyphicon-left" aria-hidden="true"></span>
<a href="{{ url_for('comment',user_id=foo.author.id ,num='1')}}" target="_blank">{{ foo.author.username }}</a>
<br>
<a href="{{ url_for('detail',question_id=foo.id) }}">{{ foo.title }}</a>
<span class="badge">{{ foo.creat_time }}</span>
<p style="">{{ foo.detail }}
</p>
<div><strong>瀏覽數:<small>{{ foo.look }}</small></strong></div>
{% endfor %}
</ul>
</div>
<div class="col-md-2 column">
</div>
</div>
</div>
{% endblock %}
{% block script %}
{% endblock %}
發佈問答:
{% block title %}
發佈問答
{% endblock %}
{% block link %}
{% endblock %}
{% block box %}
<div class="container" style="padding-top: 200px;">
<div class="row clearfix">
<div class="col-md-2 column">
</div>
<div class="col-md-8 column">
<form class="form-horizontal" role="form" method="post" action="#">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">標題</label>
<div class="col-sm-10">
<input type="text" name="author_id" value="{{ user.id }}" hidden>
<input type="text" class="form-control" id="title" name="title"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="name">內容</label>
<div class="col-sm-10">
<textarea class="form-control" name="detail" rows="10"></textarea>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">發佈</button>
</div>
</div>
</form>
</div>
<div class="col-md-2 column">
</div>
</div>
</div>
{% endblock %}
{% block script %}
{% endblock %}
涉及到的相關步驟內容:編程