1 django中app的概念:
企業(yè)建站必須是能夠以充分展現企業(yè)形象為主要目的,是企業(yè)文化與產品對外擴展宣傳的重要窗口,一個合格的網站不僅僅能為公司帶來巨大的互聯網上的收集和信息發(fā)布平臺,創(chuàng)新互聯建站面向各種領域:成都戶外休閑椅等成都網站設計、營銷型網站解決方案、網站設計等建站排名服務。
大學:----------------- 項目
信息學院 ----------app01
物理學院-----------app02
****強調***:創(chuàng)建了app,要在配置文件中注冊
...
2 模板路徑配置:
1 templates文件夾 (這里面放自已寫的靜態(tài)文件代碼)
2 settings里注冊一下
3 靜態(tài)文件配置:
1 靜態(tài)文件配置:
settings.py
# 'django.middleware.csrf.CsrfViewMiddleware', # 大約在47行注釋掉
STATIC_URL = '/static/' # 默認已有的 # 創(chuàng)建一個static文件夾 STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), # 創(chuàng)建的文件夾路徑(可以寫多個) ]
4 完整版登錄功能
小知識
get:獲取數據,頁面,攜帶數據是不重要的數據(數據量有大小限制) post:往后臺提交數據
1 login.html
***重點***1 action:提交到后臺的地址三種寫法:
1 http://127.0.0.1:8000/login-
2 /login/ 推薦用!?。。。。。?!
3 空
method post方式 (templates目錄下靜態(tài)代碼文件名:login.html,寫在body標簽里面)
注意:<input type="submit" value="提交">或<button></button> type不可以是button
<form action="http://127.0.0.1:8000/login" method="post"> <p>用戶名:<input type="text" name="name" class="form-control"></p> <p >密碼:<input type="password" name="pwd" class="form-control"></p> <input type="submit" value="提交"> </form>
2 建立與配置數據庫
提前建立一個名為db1的數據庫
在應用名目錄下的models.py文件中:
models.py
class User(models.Model): id=models.AutoField(primary_key=True) # primary_key=True 是為主鍵,AutoField:自增 name=models.CharField(max_length=32) # CharField:字符串類型,max_length=32 字符串最大長度為32 pwd=models.CharField(max_length=32)
數據庫遷移
1 python3 manage.py makemigrations ----記錄一下數據庫的變化
2 python3 manage.py migrate ----將變化同步到數據庫中
字段中寫入數據,將來測試。
3 視圖層:(views.py 如果在視圖層已配置了連接數據庫后,就不要在settings.py中設置的數據庫了。)
1request.method ----前臺提交過來請求的方式
2 request.POST(相當于字典)----post形式提交過來的數據,(http請求報文的請求體重)
3 request.POST.get('name') ----推薦用get取值(取出列表最后一個值)
4 request.POST.getlist('name')-----取出列表所有的值_
5 前臺get方式提交的數據,從request.GET字典里取
2 鏈接數據庫(防止注入,推薦以下寫法)
1:先在urls.py(總路由,請求地址跟視圖函數的映射關系)里面增加一條路由
url(r'^login/', views.login),
2:在視圖函數中寫入
cur.execute('select * from user where name=%s and password=%s ',[name,pwd])
from django.shortcuts import render,HttpResponse import pyMySQL def login(request): if request.method=='GET': return render(request,'login.html') elif request.method=='POST': name=request.POST.get('name') pwd=request.POST.get('pwd') # 使用mysql 連接 < conn=pymysql.connect(host='127.0.0.1',port=3306,db='db1',user='root',password='mariadb.123') cur=conn.cursor() # sql防注入 cur.execute('select * from user where name=%s and password=%s ',[name,pwd]) user=cur.fetchone() # 從數據庫中的user 表里,只取一條數據,返回元祖類型 if user: return HttpResponse('successful') else: return HttpResponse('fail')
3、render、redirect、HttpResponse作用
1 render--返回頁面,默認會去templates里找,注意路徑
2 redirect--重定向
3 HttpResponse -- 本質:都是返回HttpResponse的
最后訪問:http://127.0.0.1:8000/login/ 測試。
5 ORM介紹與數據庫配置(與上面views.py文件中的連接數據庫不可重復配置,以后我們都會這種方式去學習,寫在views.py鏈接數據庫中的方式僅作了解)
1 ORM即Object Relational Mapping,全稱對象關系映射。
優(yōu)點:
1 不用寫sql,不會sql的人也可以寫程序
2 開發(fā)效率高
2 缺點:
1 可能sql的效率低
3 如何使用:
如果連接mysql:在setting.py里配置:(記得提前建立數據庫)
'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': '127.0.0.1', 'PORT': 3306, 'USER': 'root', 'PASSWORD': 'password', 'NAME': 'dbname', }
2 數據庫配置:
在app下的__init__.py里寫: import pymysql pymysql.install_as_MySQLdb()
3 orm創(chuàng)建表 (會創(chuàng)建app01_user的表中,字段為:id,name,pwd)
django-orm:
1 不能創(chuàng)建數據庫(需要手動創(chuàng)建數據庫)
2 可以創(chuàng)建數據表
3 可以創(chuàng)建字段
models.py
class User(models.Model): id=models.AutoField(primary_key=True) # primary_key=True 是為主鍵,AutoField:自增 name=models.CharField(max_length=32) # CharField:字符串類型,max_length=32 字符串最大長度為32 pwd=models.CharField(max_length=32)
5 數據庫遷移
1 python3 manage.py makemigrations ----記錄一下數據庫的變化
2 python3 manage.py migrate ----將變化同步到數據庫中
網站名稱:二、1:靜態(tài)文件配置,并配置簡易版登錄功能。
本文鏈接:http://chinadenli.net/article10/ppgsdo.html
成都網站建設公司_創(chuàng)新互聯,為您提供軟件開發(fā)、靜態(tài)網站、小程序開發(fā)、域名注冊、營銷型網站建設、動態(tài)網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯