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 部署PythonWeb
- Python Web框架PythonWeb框架
- Python Web DevPythonWebdev
- Python Web開發PythonWeb
- Python教程WEB安全篇PythonWeb
- python web框架的整理PythonWeb框架
- Python的web開發PythonWeb
- Web Service 之 Python -- spyneWebPython
- Python之Web框架DjangoPythonWeb框架Django
- Web | 淺談用Python進行Web開發WebPython
- 學python可以做Web開發嗎?python適合Web開發嗎?PythonWeb
- python如何建立web服務PythonWeb
- Python中WEB開發(一)PythonWeb
- Python Web框架(URL/VIEWS/ORM)PythonWeb框架ViewORM
- 初識python web框架-- DjangoPythonWeb框架Django
- 使用python進行web抓取PythonWeb
- Python常見web框架彙總PythonWeb框架
- Python web離不開的WSGIPythonWeb
- python怎麼做web開發PythonWeb
- 簡說Python Web非同步框架PythonWeb非同步框架
- Python全棧Web(Django框架、模板)Python全棧WebDjango框架
- Python全棧Web(Ajax概述建立)Python全棧Web
- python開發本地WEB專案PythonWeb
- Python主流Web框架之TornadoPythonWeb框架
- Python web 開發框架 PyramidPythonWeb框架
- 為 Python Web App 編寫 DockerfilesPythonWebAPPDocker
- Python Web 應用:WSGI基礎PythonWeb
- 用Python理解Web併發模型PythonWeb模型
- Java和Python的Web開發JavaPythonWeb
- 如何用 Python 實現 Web 抓取?PythonWeb
- Python超級明星WEB框架FlaskPythonWeb框架Flask
- Python Web實戰:Python+Django+MySQL實現基於Web版的增刪改查PythonWebDjangoMySql
- 什麼是Python Web框架?Python入門知識!PythonWeb框架
- Python Web 開發學習 - 第一個Python程式PythonWeb
- 如何使用 Flask 編寫 Python Web APIFlaskPythonWebAPI
- 直播| Python Web開發者的破局之道PythonWeb
- Python Web開發:從 wsgi 開始PythonWeb
- 選擇python還是web前端好PythonWeb前端