setting里的各种设置:
*******CSRF的设置:
MIDDLEWARE = [
‘django.middleware.security.SecurityMiddleware’,
‘django.contrib.sessions.middleware.SessionMiddleware’,
‘django.middleware.common.CommonMiddleware’,
# ‘django.middleware.csrf.CsrfViewMiddleware’, 出现csrf_token的报错可以注释了:
‘django.contrib.auth.middleware.AuthenticationMiddleware’,
‘django.contrib.messages.middleware.MessageMiddleware’,
‘django.middleware.clickjacking.XFrameOptionsMiddleware’,
]
******数据库的设置:
·DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.mysql’,
‘HOST’: ‘127.0.0.1’,
‘PORT’: ‘3306’,
‘NAME’: ‘’, #数据库名
‘USER’: ‘root’,
‘PASSWORD’: ‘’, #密码
‘OPTIONS’: {
‘init_command’: “SET sql_mode=‘STRICT_TRANS_TABLES’”,
},
}
}
******TEMPALTES的设置:
TEMPLATES = [
{
‘BACKEND’: ‘django.template.backends.django.DjangoTemplates’,
‘DIRS’: [os.path.join(BASE_DIR,‘templates’)], 设置templates
‘APP_DIRS’: True,
‘OPTIONS’: {
‘context_processors’: [
‘django.template.context_processors.debug’,
‘django.template.context_processors.request’,
‘django.contrib.auth.context_processors.auth’,
‘django.contrib.messages.context_processors.messages’,
],
},
},
]
*******时区设置:
LANGUAGE_CODE = ‘zh-Hans’
TIME_ZONE = ‘Asia/Shanghai’
USE_I18N = True
USE_L10N = True
USE_TZ = False
*******static设置
STATIC_URL = ‘/static/’
STATICFILES_DIRS = [
os.path.join(BASE_DIR, ‘static’),
]
*******urls各种设置:
主路由的设置:
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path(‘admin’, include(‘admin.urls’)),
]
子路由的设置:
from django.urls import path
from web import views : 链接视图
urlpatterns = [
path(‘admin/’, views.Admin.as_view()),
]
添加APP:
INSTALLED_APPS = [
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
‘’, 在这里添加子app
]
**************视图写法各种逻辑:
from django.shortcuts import render,redirect
from django.views import View
from web.models import *
Create your views here.
注册
class Zhuce(View):
def get(self,request):
return render(request,‘zhuce.html’)
def post(self,request):
if request.method == ‘POST’:
username = request.POST.get(‘username’)
password1 = request.POST.get(‘password1’)
password2 = request.POST.get(‘password2’)
if all([username,password1,password2]):
user = Teacher.objects.filter(name=username).first()
if not user:
if password1 == password2:
teacher = Teacher(name=username,password=password1)
teacher.save()
return redirect('/zhuce/')
登录
class Login(View):
def get(self,request):
return render(request,‘login.html’)
def post(self,request):
if request.method == ‘POST’:
username = request.POST.get(‘username’)
password = request.POST.get(‘password’)
if all([username,password]):
teacher = Teacher.objects.filter(name=username).first()
if teacher:
if password == teacher.password:
request.session[‘username’] = username
request.session[‘id’] = teacher.id
return redirect(’/index/’)
#主页
class Index(View):
def get(self,request):
username = request.session.get(‘username’)
teacher = Teacher.objects.all()
return render(request,‘index.html’,{‘teacher’:teacher,‘username’:username})
添加
class addStudent(View):
def get(self,request):
username = request.session.get(‘username’)
return render(request,‘addstudent.html’,{‘username’:username})
def post(self,request):
id = request.session.get(‘id’)
if request.method == ‘POST’:
sname = request.POST.get(‘sname’)
age = request.POST.get(‘age’)
if all([sname,age]):
student = Student(name=sname,age=age,t_id=id)
student.save()
return redirect(’/addstudent/’)
操作
class getStudent(View):
def get(self,request):
username = request.session.get(‘username’)
id = request.session.get(‘id’)
student = Student.objects.filter(t_id=id).all()
return render(request,‘getstudent.html’,{‘username’:username,‘student’:student})
操作
class delStudent(View):
def get(self,request):
id = request.GET.get(‘id’)
if id:
student = Student.objects.filter(id=id).first()
student.t_id = 0
student.save()
return redirect(’/getstudent/’)
class getnotstudent(View):
def get(self,request):
student = Student.objects.filter(t_id=0).all()
return render(request,‘getnotstudent.html’,{‘student’:student})
class addstudent(View):
def get(self,request):
tid = request.session.get(‘id’)
print(tid)
id = request.GET.get(‘id’)
if id:
student = Student.objects.filter(id=id).first()
student.t_id = tid
student.save()
return redirect(’/getnotstudent/’)
********创表:建库
from django.db import models
Create your models here.
class Teacher(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=30)
password = models.CharField(max_length=100)
class Meta:
db_table = 'teacher'
class Student(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=30)
age = models.IntegerField()
t_id = models.IntegerField(default=0)
teacher = models.ForeignKey(Teacher,on_delete=models.SET_NULL,null=True)
class Meta:
db_table = 'student'
******app设置
from django.apps import AppConfig
class WebConfig(AppConfig):
name = ‘web’