1. 程式人生 > >Django 建立APP和Mysql資料庫連線

Django 建立APP和Mysql資料庫連線

軟體版本:Django 1.11.11

Python:3.7.1

pip3:10.0.1

安裝Django,首先確保python和pip在環境變數中

pip install Django==1.11.11

目錄結構:

其中:settings.py是設定檔案:

例如:網站有很多的靜態資源,js,css等

在裡面新增:

#靜態檔案儲存目錄的別名

STATIC_URL = ‘/static/’

#所有靜態檔案css,js,圖片都放在下面的配置檔案中

STATICFILES_DIRS = [

os.path.join(BASE_DIR,“static”)

]

urls.py是可以定義函式的檔案:

執行方式:

1,pycharm執行manage.py檔案

2,進入專案的根目錄,執行:python manage.py runserver命令

建立APP專案

python manage.py startapp app名字

pycharm中:

啟動命令列的介面是:

Terminal

這時候會在專案的目錄中生成app01的資料夾

apps.pyapp相關的配置項

views.py放置函式的檔案

然後告訴settings app的安裝路徑

在settings.py中

找到:

INSTALLED_APPS = [

‘app01’,

#或者

‘app01.apps.App01Config’,

#注意只能寫一個

]

也可以在建立專案的時候直接生成專案

建立專案的步棸:

1.Templates 定義存放的位置:

2.靜態檔案

settings.py

#靜態檔案儲存目錄的別名

STATIC_URL = ‘/static/’

#所有靜態檔案css,js,圖片都放在下面的配置檔案中

STATICFILES_DIRS = [

os.path.join(BASE_DIR,“static”)

]

3.註釋setting.py 帶有csrf一行

示例:

專案:demo1

app:app01

/demo1/urls.py

from django.conf.urls import url

from django.contrib import admin

from app01 import views

urlpatterns = [

url(r’^login/’, views.login),

url(r’^biaodan/’, views.biaodan),

]

/demo1/app01/views.py

from django.shortcuts import render, redirect, HttpResponse

# Create your views here.

def login(request):

return render(request,“login.html”)

def jesse(request):

return HttpResponse(‘hello,word’)

def biaodan(request):

#打印出所有的值

print(request.POST)

name = request.POST.get(“username”,None)

pwd = request.POST.get(“password”,None)

error_msg = “”

if name == ‘jesse’ and pwd == ‘123’:

# return HttpResponse(“登入成功”)

return redirect(“http://baidu.com”)

else:

error_msg = “郵箱或者密碼錯誤”

print(name, pwd)

return render(request, “login.html”, {“error”: error_msg})

return HttpResponse(“yes”)

/demo1/templates/login.html

這是一個登入介面

登入名:

密碼:

{{ error }}

Django的資料庫連線設定:

連線資料庫(django預設是pymysql):

setting.py

DATABASES = {

‘default’: {

# 配置資料庫的連線型別

‘ENGINE’: ‘django.db.backends.mysql’,

#連線資料庫的地址

‘HOST’:‘127.0.0.1’,

#連線埠

‘PORT’: 3306,

‘NAME’: “db1”,

‘USER’: ‘root’,

‘PASSWORD’: ‘root’

‘NAME’: os.path.join(BASE_DIR, ‘db.sqlite3’),

}

}

/demo1/init.py

在__init__.py中:

import pymysql

#告訴django用pymysql替代MYsqldb

pymysql.install_as_MySQLdb()

/demo1/app01/models.py

from django.db import models

# Create your models here.

from django.db import models

#ORM相關的只能寫在這個檔案裡面,寫到別處檔案django找不到

class UserInfo(models.Model):

id = models.AutoField(primary_key=True)#建立一個自增的主鍵

name = models.CharField(null=False, max_length=20)#建立一個varchar(20)型別的欄位

執行建立的命令:

先檢查是否安裝了pymysql

安裝命令:pip3 install pymysql

建立命令:

python manage.py makemigrations

python manage.py migrate

建立成功!

檢查是資料庫會寫入建立多個數據表

1.簡化流程:

2.建立APP

python manage.py startapp app05

3.settings.py 引入app

4.備註CSRF

5.引入靜態資源 settings.py

#靜態檔案儲存目錄的別名

STATIC_URL = ‘/static/’

#所有靜態檔案css,js,圖片都放在下面的配置檔案中

STATICFILES_DIRS = [

os.path.join(BASE_DIR,“static”)

]

6.資料庫設定 models.py

7.資料庫連線設定

DATABASES = {

‘default’: {

# 配置資料庫的連線型別

‘ENGINE’: ‘django.db.backends.mysql’,

# 連線資料庫的地址

‘HOST’:

‘192.168.68.40’,

# 連線埠

‘PORT’: 3306,

‘NAME’: “db2”,

‘USER’: ‘root’,

‘PASSWORD’: ‘root’

}

}

8.啟動建立

python manage.py makemigrations Django2

python manage.py migrate

9.如果提示沒有模組,先匯入

在__init__.py中:

import pymysql

#告訴django用pymysql替代MYsqldb

pymysql.install_as_MySQLdb()

瀋陽性病醫院哪家好:http://yyk.39.net/sy/zhuanke/fc844.html

瀋陽治療溼疣正規醫院:http://yyk.familydoctor.com.cn/20631/