<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          手把手教你使用Django如何連接Mysql

          共 2683字,需瀏覽 6分鐘

           ·

          2021-01-23 17:10


          前言

          這次咱們來簡述一下,Django如何連接Mysql

          默認情況下,Django連接的是自己帶的sqlite數(shù)據(jù)庫。

          這種數(shù)據(jù)庫好處是方便,不需要遠程連接,打包項目挪到其他電腦上安裝一下依賴一會就跑起來了。

          但是缺點就是,可能會出現(xiàn)各種莫名其面的問題,所以,盡可能在開始的時候,就配置上連接Mysql。


          連接Mysql

          Django連接Mysql分三步

          1. Mysql提前創(chuàng)建好數(shù)據(jù)庫。

          2. 修改Django的settings.py文件。

          3. 修改項目文件夾下的__init.py文件。

          1.Mysql提前創(chuàng)建好數(shù)據(jù)庫

          首先,我使用的是本機的Mysq,并且我在Mysq上創(chuàng)建了一個school數(shù)據(jù)庫。

          2.修改Django的settings.py文件

          創(chuàng)建一個Django項目,在項目文件夾下settings.py下,找到原來的sqlite配置文件。

          注銷或刪除sqlite配置,添加以下配置。

          復制以下代碼

          DATABASES = {    'default': {        'ENGINE': 'django.db.backends.mysql'# 默認        'NAME': 'school'# 連接的數(shù)據(jù)庫        'HOST': '127.0.0.1'# mysql的ip地址        'PORT': 3306,  # mysql的端口        'USER': 'root'# mysql的用戶名        'PASSWORD': 'rootroot'  # mysql的密碼    }}

          3.修改項目文件夾下的__init.py文件

          由于配置了Mysql,所以要替換默認的數(shù)據(jù)庫引擎,在項目文件夾下的__init__.py,添加以下內容。

          復制以下代碼

          import pymysql
          pymysql.install_as_MySQLdb()

          如果沒有安裝pymysql,記得安裝一下,命令:pip install pymysql

          遷移數(shù)據(jù)庫

          如果上述都沒問題了,那我們來寫個小Demo來跑一下試試。

          遷移數(shù)據(jù)庫流程。

          1. 創(chuàng)建app(Django必須依賴app才能創(chuàng)建表)。

          2. settings.py中添加創(chuàng)建的app。

          3. 遷移。

          1.創(chuàng)建app(Django必須依賴app才能創(chuàng)建表)

          首先呢,我們需要在Django中,創(chuàng)建一個app。命令如下:

          python?manage.py?startapp?web

          2. settings.py中添加創(chuàng)建的app

          創(chuàng)建完之后,我們需要在settings.py中配置一下剛剛創(chuàng)建的app。

          3.遷移

          然后執(zhí)行命令,遷移數(shù)據(jù)庫到Mysql。

          python manage.py makemigrationspython manage.py migrate

          生成的表。

          會生成很多其他表,不用管他,只要咱們要的。

          我這里直接手動向剛剛創(chuàng)建的表里面添加一些數(shù)據(jù)。

          展示內容

          展示內容大概分為以下幾個部分。

          1. 編寫url。

          2. 編寫視圖(views)。

          3. 編寫html(templates)。

          4. 啟動web。

          1.編寫url

          urls.py

          urlpatterns = [    path('admin/', admin.site.urls),    path('student_list', views.student_list),]

          2.編寫視圖(views)

          web/views.py

          def student_list(request):    student_queryset = models.Student.objects.all()    return render(request,"student.html",{"student_queryset":student_queryset})

          3.編寫html(templates)

          templates/student.html

          <html lang="en"><head>    <meta charset="UTF-8">    <title>Titletitle>head><body><table border="1">    <thead>    <tr>        <td>idtd>        <td>姓名td>        <td>年齡td>        <td>性別td>        <td>年紀td>    tr>    thead>    <tbody>    {% for student in student_queryset %}        <tr>            <td>{{ student.id }}td>            <td>{{ student.name }}td>            <td>{{ student.age }}td>            <td>{{ student.gender }}td>            <td>{{ student.grade }}td>        tr>    {% endfor %}
          tbody>table>body>html>

          4.啟動web

          命令

          python manage.py runserver 127.0.0.1:8000

          打開游覽器,輸入http://127.0.0.1:8000/student_list

          如圖所示!

          總結

          本次主要講述的是Django如何連接Mysql。并且順帶的做了一個測試小Demo,展示一個web是如何運行起來的。如果基礎不好,我相信后面這些還是很有用的。

          pymysql的版本不建議安裝太高,我的是pymysql版本是0.9.2,Django版本是2.1.5

          如果你覺得文章還可以,記得點贊留言支持我們哈。感謝你的閱讀,有問題請記得在下方留言噢~






          程序員GitHub,現(xiàn)已正式上線!


          接下來我們將會在該公眾號上,專注為大家分享GitHub上有趣的開源庫包括Python,Java,Go,前端開發(fā)等優(yōu)質的學習資源和技術,分享一些程序員圈的新鮮趣事。





          年度爆款文案



          點這里,獲取騰訊課堂暢學卡

          瀏覽 36
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  大香蕉伊人网站 | 无码熟妇人妻AV在线电影 | 欧美成人精品一二三区欧美风情 | 日本免费的黄色视频 | 日韩黄色毛片 |