Webアプリケーションとは何ですか?
より簡単に、ブラウザ、背景からのデータのサイト検索を介してWebサイトにアクセスし、手順、ユーザに適切なインタフェースを表示することです。
HTTPプロトコルは何ですか?
ハイパーテキスト転送プロトコル:クライアントの形式およびサーバーメッセージの送信を指定します
4つの特性:
アプリケーション層プロトコル1、TCP / IPプロトコルベースのアクション
要求応答に基づいて、2、(一次応答は、要求に対応します)
3、無の状態(クライアントを持たないで、すべてのは、ストライキとしてあなたを扱います)
4、いかなるリンク(HTTP要求を切断した直後に受け付けられなかったが、TCPを切断しないであろう)
拡張:定数のリンクを維持するために使用されるwebsoceke技術を、逆にするリンクがないため。
リクエストデータ形式:
最初の行要求
要求ヘッダ(K、Vキーと値のペアの束)
(ここでは何も表さない、スペースではありません)
リクエストボディ(POSTデータ要求内で運ば)(から離間疑問符の後にURLのパラメータを搬送するGET要求は、最初のデータは安全であり、第二は、伝送の大きさも制限されています)
データ形式に対応して:
応答の最初の行
レスポンスヘッダ(パイルK、キーと値のペアをV)
(スペース)
レスポンスボディ(ポストデータリクエストで運ば)
応答ステータスコード:
1xxサーバーは、データが処理されている、あなたは追加のデータを提出し続けることができます正常に受信しました
2XX要求は、サーバーがあなたにあなたの要求されたデータを送信する必要があります成功します
3xxリダイレクト
4xxの要求されたリソースが存在しません。
5xxのサーバーエラー
静的および動的なページ
静的なページ:
ページ上のデータは同じ年、死んで書かれています。
動的なページ:
ページ上のデータが動的なバックエンドから取得されます
例えば、バックエンドは、現在の時刻を取得します
データを取得するために、バックエンドデータベースには、フロントページに渡されます
テンプレートのレンダリング
直接使用フロントページにバックエンドデータによって生成された(及びフロントページを柔軟データを操作することができる)テンプレート構文>>>
テンプレートのテンプレートの構文をレンダリングすることは、サードパーティのモジュールに依存する必要があります
Jinja2のインストールPIP
直接Pythonの運転データに似た構文を使用してJinja2のサポートフロントエンドのテンプレート構文
<P> {{user_dic}} </ P> 2つのブレースを覚え
<P> {{user_dic.name}} </ P>
<P> {{user_dic [ 'パスワード']}} </ P>
<P> {{user_dic.get( '名前')}} </ P>
値は、一般に、それを横断することができ、その後、フロントエンドインタフェースリストに追加しました
{user_dictの%のユーザーの%}ここで設定辞書リストを形成するものと解釈される[{}、{}を{}、{}]
<TR>
<TD> user.id {{}} </ TD>
< TD> user.name {{}} </ TD>
<TD> user.password {{}} </ TD>
</ TR>
{%} ENDFOR%
ウェブフレームフローチャートLiteの
Webフレームワークとは何ですか?
現在、三つの主要なPythonのWebフレームワーク
ジャンゴ:Webフレームワークの世界の空母に相当し、大規模かつ機能モジュールの多くが付属しています(短所:ドキュメントのより多くのコンテンツをもたらすのには大きすぎます)
フラスコ:Dapperの、あまりの内蔵機能モジュール、サードパーティのモジュールに依存しているそれらのほとんどが、理由は分かりやすい鉛含有量を合理化
竜巻:非同期非ブロッキング主に高IO多重化の場合に使用される治療は、一般的に使用される複数のゲームバックエンド
3つの部分に分かれ、機能のWebフレーム
A:ソケット(サービス)
B:ルーティングとビュー機能
C:テンプレートのレンダリング
ジャンゴ:
a:用别人的 wsgiref
b:自己写的
c:自己写的
Flask:
a:用别人的 werkzeug
b:自己写的
c:用别人的 jinja2
Tornado:
a,b,c 都是自己写的
注意,在运行Django的时候:
1、计算机的名称不能有中文
2、一个pycharm窗口就是一个项目,不要多个项目放在一个窗口里面
3、项目名不能起中文
Django简介
一般下载1.xx.xx版本
命令行下载:pip3 install Django == 1.11.11
验证是否下载成功
Django - admin
创建Django项目的方式
方式一(命令行创建):
创建Django项目
Django-admin startproject
创建app应用
Python3 manage.py startapp app01
启动Django项目
python3 manage.py runserver
注意:用命令行创建Django默认不会自动创建templates(用来存放所有的HTML文件的地方)文件夹
需要自己手动创建(在settings中查看该文件夹是否加入了环境变量中,没有要记得手动添加)
方式二(pycharm创建):
file>new project 选择Django 注意:1、名字不能有中文 2、选择本地解释器 3、勾选后台管理
创建app
pycharm命令行创建
python3 manage.py startapp app01
Tools 下面 run manage task 功能栏 省略了python3 manage.py 直接输入startapp即可创建
强调:
1、用django 一定要保证只有一个在运行状态
2、记得清理浏览器的缓存
app(应用)的概念
一个django项目就像是一所大学
而app就是大学里面的学院
注意:创建新的app之后,要在配置文件中注册才能生效
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01.apps.App01Config' # 可以用全称
'app01' # 也可以简写
]
django各个文件的作用
应用名
migrations 数据库迁移记录相关数据
admin.py django 后台管理相关
models.py 模型表相关
views.py 视图函数相关
项目名
settings.py 配置文件
urls.py 路由与视图函数的映射关系
templates
项目用到的所有HTML文件
manage.py
django 入口文件
django 入门必会三个技术点
from django.shortcuts import render,HttpResponse,redirect
HttpResponse 返回字符串
render 返回一个html页面
两种给前端页面传值的方式
def reg(request):
user_dict = {'name':'jason','password':'123'}
return render(request,'reg.html',{'user_dict':user_dict})
def reg(request):
user_dict = {'name':'jason','password':'123'}
return render(request,'reg.html',locals()) (推荐使用)
redirect 重定向(跳转到其他指定URL或页面等)
django识别到代码变化之后会自动刷新,但是有时候反应速度比较慢
可以手动重启,也可以手动刷新浏览器