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.靜態檔案
#靜態檔案儲存目錄的別名
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):
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/