Django讀取Mysql資料並顯示在前端
阿新 • • 發佈:2019-01-08
前言:
由於使用Django框架來做網站,需要動態顯示資料庫內的資訊,所以讀取資料庫必須要做,寫此博文來記錄。
接下來分兩步來做這個事,新增網頁,讀取資料庫;
一、新增網頁
首先按新增網頁的步驟新增網頁,我的網頁名為table.html, app名為web;
table.html
放到相應目錄下;
forms.py
檔案提前寫好;
修改views.py
,做好檢視
from django.shortcuts import render
from web import forms
def table(request):
table_form=forms.SignupForm()
return render(request,'table.html',{'form':table_form})
修改url.py
,新增路徑
from django.conf.urls import url,include
from django.contrib import admin
from web import views
urlpatterns = [
url(r'^signup/$',views.signup,name='signup'),
url(r'^index/$',views.index,name='index'),
url(r'^table/$',views.table,name='table' ) #這個是table的
]
至此可以訪問
http://127.0.0.1:8000/web/table/
(http//127.0.0.1:8000/app/index)
正常顯示網頁內容。
二、讀取Mysql並顯示
在models.py中建立資料庫 Employee,並設定name列(預設會有id列,為主鍵);
from __future__ import unicode_literals
from django.db import models
# Create your models here.
class Employee(models.Model):
name=models.CharField(max_length=20 )
儲存並同步資料庫
python manage.py syncdb
這時進入到mysql中,找到我們django設定的資料庫,進入其中,
看到如下表:
圖1 資料庫表項
最後一個web_employee為我們剛建立的表(web是我的app名字,字首是自動加的);
使用insert語句插入相應資料,顯示如下:
圖2 employee表
ok資料已經新增完畢,接下來是在網頁端顯示,網頁通過前面的配置已經可以正常顯示,現在加入顯示資料庫資訊。
首先修改views.py
,一樣,檢視的修改都在此檔案
from django.shortcuts import render
from web import forms
from models import Employee #插入employee表
from django.shortcuts import HttpResponseRedirect,Http404,HttpResponse,render_to_response
# Create your views here.
def table(request):
table_form=forms.SignupForm() #樣式 ,在forms.py裡配置好了
names=Employee.objects.all() #獲取我們的資料庫資訊到names裡
#return render(request,'table.html',{'form':table_form})
return render_to_response("table.html",locals()) #必須用這個return
變數names
讀取了我們的資料,接下來到table.html
中
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Upload Successfully</title>
</head>
<body>
<p>學生名單</p>
{% for name in names %}
<p>{{name.id}}   :   {{name.name}}</p>
<br>
{% endfor %}
</body>
</html>
用迴圈讀取names
裡面的資訊,name.id
與name.name
是我們表中的兩列,如上面圖2。
最終結果如下:
圖3 效果圖