python web
1.關係(必考)
①#models.py
class banj(models.Model):
mc=models.CharField(max_length=8)
def str(self):
return self.mc
class xues(models.Model):
xm=models.CharField(max_length=8)
bj=models.ForeignKey(banj,on_delete=models.CASCADE,null=True)
def str(self):
return self.xm
②建立班級物件
from faqs.modles import banj
b=banj(mc=”2019級1班”)
b2=banj(mc=”2019級2班”)
b.save()
b2.save()
③建立學生物件from faqs.models import xues
x=xues(xm=’張三’,bj=b)
x.save()
x2=xues(xm=’李四’,bj=b2)
x2.save()
④通過班級建立學生x3=b.xues_set.create(xm=”韓梅梅”)
2.用模板實現資料分頁(選)
①模型models.py
from django.db import models
class score(models.Model):
kh=models.CharField(max_length=8) #考號
xm=models.CharField(max_length=8) #姓名
yw=models.IntegerField() #語文成績
sx=models.IntegerField() #數學成績
yy=models.IntegerField() #英語成績
②檢視views.py
from django.score.paginator import Paginator
from django.shortcuts import render
from . import models
def useTempaltePaginator(request):
objects=models.score.objects.all()
pages=Paginator(objects,10)
page_number=request.GET[‘page’]
page=pages.get_page(page_number)
return render(request,‘pagetemplate.html’,{‘scores’:page})
③配置URL訪問檢視
from django.contrib import admin
from django.urls import path
from guyunsu6 import views
urlpatterns = [
path(‘admin/’, admin.site.urls),
path(‘scores’,views.useTempaltePaginator),
]
1)模型表單
①模型models.py
from django.db import models
class person(models.Model):
name=models.CharField(max_length=8)
age=models.SmallIntegerField()
②模型表單views.py
from django.forms import ModelForm,ValidationError
from .models import person
class personForm(ModelForm):
class Meta:
model = person #指定模型
fields =[‘name’, ‘age’] #指定欄位
③檢視中使用模型表單
def usePersonForm(request):
if request.method == ‘POST’: #在提交表單時採用POST方法
mform = personForm(request.POST)#用提交的方法初始化表單
if mform.is_valid():#在表單通過驗證時執行資料處理
ps=person.objects.filter(name=request.POST[‘name’])#用表單資料查詢
if ps.count()==0:
mform.save()#不存在相同姓名時,將資料存入資料庫
msg=‘資料已儲存!’
else:
msg=‘資料庫已存在相同姓名的資料,請勿重複提交!’
else:msg=‘表單資料有錯’
else:
mform = personForm()#建立空白表單
msg=“請輸入資料新增新記錄”
return render(request, ‘temmodelform.html’, {‘mform’: mform,‘msg’:msg})
④自定義模型表單欄位
def validate_age(value):
if int(value) < 20:
raise ValidationError(‘年齡不能小於20!’,code=‘min_value’)
elif int(value) > 50:
raise ValidationError(‘年齡不能大於50!’,code=‘max_value’)
class personFormDIY(ModelForm):
#重定義age欄位
age=forms.CharField(validators=[validate_age],label=‘年齡’,
widget = forms.NumberInput(),
help_text = ‘年齡為[20,50]以內的整數’)
class Meta:
model = person #指定模型
fields = [‘name’, ‘age’] #指定欄位
labels = { ‘name’: ‘姓名’,} #設定欄位渲染後的
相關文章
- Python Web DevPythonWebdev
- python web 部署PythonWeb
- Python Web開發PythonWeb
- Python之Web框架DjangoPythonWeb框架Django
- python web框架的整理PythonWeb框架
- Python教程WEB安全篇PythonWeb
- Python的web開發PythonWeb
- 學python可以做Web開發嗎?python適合Web開發嗎?PythonWeb
- Web | 淺談用Python進行Web開發WebPython
- python如何建立web服務PythonWeb
- Python主流Web框架之TornadoPythonWeb框架
- Python中WEB開發(一)PythonWeb
- python怎麼做web開發PythonWeb
- Python web離不開的WSGIPythonWeb
- python開發本地WEB專案PythonWeb
- Python全棧Web(Django框架、模板)Python全棧WebDjango框架
- 簡說Python Web非同步框架PythonWeb非同步框架
- Python全棧Web(Ajax概述建立)Python全棧Web
- Python常見web框架彙總PythonWeb框架
- 為 Python Web App 編寫 DockerfilesPythonWebAPPDocker
- 什麼是Python Web框架?Python入門知識!PythonWeb框架
- Python Web實戰:Python+Django+MySQL實現基於Web版的增刪改查PythonWebDjangoMySql
- Python Web開發需要學習什麼?Python基礎!PythonWeb
- Web前端和Python學哪個比較好?Python教程!Web前端Python
- 選擇python還是web前端好PythonWeb前端
- 如何使用 Flask 編寫 Python Web APIFlaskPythonWebAPI
- Python的web主流框架有什麼?PythonWeb框架
- Python Web開發:從 wsgi 開始PythonWeb
- Python Flask Web教程001:Flask簡介PythonFlaskWeb
- <5>Python的uwsgi web伺服器PythonWeb伺服器
- Python全棧Web(HTML標籤大全)Python全棧WebHTML
- 如何理解Python web開發技術PythonWeb
- 快速上手python的簡單web框架flaskPythonWeb框架Flask
- python web開發-flask中日誌的使用PythonWebFlask
- 分分鐘教你Python Web開發框架DjangoPythonWeb框架Django
- Python Web 應用程式 Tornado 框架簡介PythonWeb框架
- Python全棧Web(Flask框架、多表關聯)Python全棧WebFlask框架
- Python全棧Web(JavaScript函式、陣列)Python全棧WebJavaScript函式陣列