溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Django讀取Mysql數(shù)據(jù)并顯示在前端的實(shí)例

發(fā)布時間:2020-10-03 00:28:05 來源:腳本之家 閱讀:304 作者:GitzLiu 欄目:開發(fā)技術(shù)

前言:

由于使用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)入其中,

看到如下表:

Django讀取Mysql數(shù)據(jù)并顯示在前端的實(shí)例

圖1 數(shù)據(jù)庫表項(xiàng)

最后一個web_employee為我們剛創(chuàng)建的表(web是我的app名字,前綴是自動加的);

使用insert語句插入相應(yīng)數(shù)據(jù),顯示如下:

Django讀取Mysql數(shù)據(jù)并顯示在前端的實(shí)例

圖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}}&nbsp&nbsp&nbsp:&nbsp&nbsp&nbsp{{name.name}}</p>
    <br>
    {% endfor %}
  </body>
</html>

用循環(huán)讀取names里面的信息,name.id與name.name 是我們表中的兩列,如上面圖2。

最終結(jié)果如下:

Django讀取Mysql數(shù)據(jù)并顯示在前端的實(shí)例

圖3 效果圖

以上這篇Django讀取Mysql數(shù)據(jù)并顯示在前端的實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(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)容。

AI