pycharm中直接建立django專案
輸入建立專案名(如first_django)
在此輸入應用名(如g_tu)
此為專案總目錄
將first_django中settings.py中第58行修改為以下程式碼
'DIRS': [os.path.join(BASE_DIR , 'templates')]
在此程式碼中搜尋DATABASES將程式碼修改為以下
連線MySQL資料庫
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'stu', #建立的表名 'HOST':'127.0.0.1', 'PORT':3306, 'USER':'root', #使用者名稱 'PASSWORD':'123456' #密碼 } }
在first_django中urls中輸入以下程式碼
path('',views.index), #主頁為views中的index函式
在models.py中建立兩個表
class Grade(models.Model): g_name = models.CharField(max_length=200) class Student(models.Model): s_name = models.CharField(max_length=200) age = models.CharField(max_length=200) sex = models.CharField(max_length=200) emali = models.CharField(max_length=200) password = models.CharField(max_length=200) g = models.ForeignKey(Grade, on_delete=models.CASCADE)
之後在開啟pycharm中開啟cmd輸入
python manage.py makemigrations #建立sql語句 python manage.py sqlmigrate 0001 #檢視sql語句 python manage.py migrate #執行sql語句
在g_stu中views中引入
from g_stu.models import Grade,Student
輸入函式index
def index(request): g = Grade(g_name="一班") #增加資料 g.save() #提交 return render(request,"index.html") #返回網頁index
在templates中建立index.html檔案在first_django中urls中輸入以下程式碼
path('show/',views.show), #跳轉到為views中的show函式 path('<int:id>',views.student,name="student") #傳值 型別為int 為view中student函式
在g_stu中views中輸入函式show展示資料
def show(request): g_all = Grade.objects.all() #查詢Grade表所有資料 return render(request, "show.html",{ "grade":g_all #注意傳回值為字典 }) #返回show.html頁面 傳回查詢的所有資料 def student(request,id): #接受id gr = Grade.objects.filter(id=id).first() #條件查詢 查詢符合條件的第一條資料 s = Student(s_name="張三",age="20",sex="男",emali="111@qq.com",password="111",g=gr) #插入資料外來鍵等於查詢資料的主鍵 s.save() return render(request,"stu.html",{"s":s}) #返回stu.html頁面 傳回插入的資料s
在templates中建立show.html檔案
{% for i in grade %} #迴圈傳回字典的值 <a href="{% url 'student' i.id %}">{{ i.g_name }}</a> #展示每條資料 #{% url 'student' i.id %} 此句為給student檢視傳回此條資料的id值 {% endfor %} #結束迴圈
在templates中建立stu.html檔案
{{ s.s_name }} #展示資料 {{ s.age }} {{ s.sex }} {{ s.emali }} {{ s.password }}
執行程式碼
python manage.py runserver
點選執行程式碼後的連結
在後輸入/show 即為展示班級頁面
點選班級即為新增學生頁面