您好,登錄后才能下訂單哦!
前言:
由于使用Django框架來做網(wǎng)站,需要動態(tài)顯示數(shù)據(jù)庫內(nèi)的信息,所以讀取數(shù)據(jù)庫必須要做,寫此博文來記錄。
接下來分兩步來做這個事,添加網(wǎng)頁,讀取數(shù)據(jù)庫;
一、添加網(wǎng)頁
首先按添加網(wǎng)頁的步驟添加網(wǎng)頁,我的網(wǎng)頁名為table.html, app名為web;
table.html放到相應(yīng)目錄下;
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)
正常顯示網(wǎng)頁內(nèi)容。
二、讀取Mysql并顯示
在models.py中創(chuàng)建數(shù)據(jù)庫 Employee,并設(shè)置name列(默認(rèn)會有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)
保存并同步數(shù)據(jù)庫
python manage.py syncdb
這時進(jìn)入到mysql中,找到我們django設(shè)置的數(shù)據(jù)庫,進(jìn)入其中,
看到如下表:
圖1 數(shù)據(jù)庫表項(xiàng)
最后一個web_employee為我們剛創(chuàng)建的表(web是我的app名字,前綴是自動加的);
使用insert語句插入相應(yīng)數(shù)據(jù),顯示如下:
圖2 employee表
ok數(shù)據(jù)已經(jīng)添加完畢,接下來是在網(wǎng)頁端顯示,網(wǎng)頁通過前面的配置已經(jīng)可以正常顯示,現(xiàn)在加入顯示數(shù)據(jù)庫信息。
首先修改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() #獲取我們的數(shù)據(jù)庫信息到names里 #return render(request,'table.html',{'form':table_form}) return render_to_response("table.html",locals()) #必須用這個return
變量names讀取了我們的數(shù)據(jù),接下來到table.html中
<html lang="en"> <head> <meta charset="UTF-8"> <title>Upload Successfully</title> </head> <body> <p>學(xué)生名單</p> {% for name in names %} <p>{{name.id}}   :   {{name.name}}</p> <br> {% endfor %} </body> </html>
用循環(huán)讀取names里面的信息,name.id與name.name 是我們表中的兩列,如上面圖2。
最終結(jié)果如下:
圖3 效果圖
以上這篇Django讀取Mysql數(shù)據(jù)并顯示在前端的實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。