Django創建數據庫操作
django流程之model實例
settigs.py:更改Django2.0.1的配置,更新為之前的路徑配置
'DIRS': [os.path.join(BASE_DIR, 'templates')], # 設置templates的路徑為Django以前版本
# 'DIRS': [], # 注釋掉該行,此為Django 2.0.1最新版本
# 'django.middleware.csrf.CsrfViewMiddleware',
views.py
# Create your tests here.
from django.shortcuts import render, HttpResponse
from blog import models
def userInfo(request):# 這里需要判斷前臺數據提交的方法是POST還是GET的[大寫]if request.method == "POST":get_username = request.POST.get("username", None)get_sex = request.POST.get("sex", None)get_email = request.POST.get("email", None)models.UserInfo.objects.create( # 進行ORM映射,同時Insert數據到數據庫username=get_username,sex=get_sex,email=get_email)user_list = models.UserInfo.objects.all() # 獲取數據庫里面的數據print(user_list)return render(request, 'index.html', {"user_list": user_list}) # 用{}傳遞一個對象給前端
mysite2/urls.py
from django.contrib import admin
from django.urls import path
from blog import viewsurlpatterns = [path('admin/', admin.site.urls),path(r'userInfo/', views.userInfo), # 將路徑名跟函數進行映射
]
models.py :創建ORM映射模版
from django.db import models
class UserInfo(models.Model):username = models.CharField(max_length=64) # 創建數據庫字段,并設置長度為64ksex = models.CharField(max_length=64)email = models.CharField(max_length=64)
templates/index.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8">
</head>
<body><form method="post" action="/userInfo/" name="userInfo"><p>姓名<input type="text" name="username"></p><p>性別<input type="text" name="sex"></p><p>郵箱<input type="text" name="email"></p><p><input type="submit" value="提交"></p></form><hr><hr><table border="1"><tr><th>姓名</th><th>性別</th><th>郵箱</th></tr>{% for i in user_list %} {#Django里面封裝的模版語法,用于for循環#}<tr>{# 這里是變量,所以需要2個{}來進行變量引用[規定的] #}<th>{{ i.username }}</th> {# 這里類似字典的取值 i[username] #}<th>{{ i.sex }}</th> {# 這里類似i[sex] #}<th>{{ i.email }}</th> {# 這里類似i[email] #}</tr>{% endfor %} {# 注意結束for循環 #}</table>
</body>
</html>
?
創建數據庫以及同步數據庫數據
生成同步數據庫的腳本:python manage.py makemigrations?
同步數據庫:? python manage.py migrate??
注意1:如果安裝完成后打不開DB數據庫,是因為沒有安裝連接數據庫的jar包,PyCharm可以幫助我們進行安裝
注意2:在開發過程中,數據庫同步誤操作之后,難免會遇到后面不能同步成功的情況,解決這個問題的一個簡單粗暴方法是把migrations目錄下的腳本(除__init__.py之外)全部刪掉,再把數據庫刪掉之后創建一個新的數據庫,數據庫同步操作再重新做一遍。??
settigs.py: 默認的數據庫
注意3:重啟Django服務,查看頁面數據
?
django之登錄默認的admin界面
創建項目好了以后我們會發現有一個默認的admin的函數,對應的就有個URL的地址:http://127.0.0.1:8080/admin/
當我們訪問http://127.0.0.1:8080/admin/時,會出現:
我們需要為進入這個項目的后臺創建超級管理員:python manage.py createsuperuser,設置好用戶名和密碼后便可登錄啦!
后臺輸入命令創建用戶:python manage.py createsuperuser
其他參考
清空數據庫:
python manage.py flush
????? 查詢某個命令的詳細信息:
django-admin.py help startapp
?????? admin 是Django 自帶的一個后臺數據庫管理系統。
終端上輸入python manage.py 可以看到詳細的列表,在忘記子名稱的時候特別有用
python manage.py
啟動當前項目的django交互界面 :
python manage.py shell
注意:這個命令和直接運行 python 進入 shell 的區別是:你可以在這個 shell 里面調用當前項目的 models.py 中的 API,對于操作數據,還有一些小測試非常方便。