建立之前将app建立
1,首先进入django到settting进行配置:
1,检查DIR
2,引掉csrf
3,在最后写入:
staticfiles_dirs=[
os.path.join(base_dir,'static)
]
4,检查app:
格式:app01.apps.App01Config app名字.apps.APP名字config
2,建立static
3,建立数据库
1,先有数据库
2,setting中的:配置
````DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'book2',
'USER':'root',
'PASSWORD':'',
'HOST':'127.0.0.1',
'PORT':3306,
` }
```}
3,在setting中同级init 加
import pycharm
pycharm.install_as_MySQLdb()
4,在models中写入表和字段:
from django.db import models
# Create your models here.
class library(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=32,unique=True)
def __str__(self):
return self.name
5,进行两步操作:
makemigratoins
migrate
在views中写入函数
在trmplates写入html
将这两条在urls连接
在html取值
{%for i in 列表%}
{{forloop.conter}} 每个信息进行编号
{{i.id}}取值
a 标签中: href='/library/?id={library.id{}}'
函数:
查:
models.library.objects.all().order_by('id')
增加:
models.library.objects.create(name=add_name)
删除:
del_list.delete() #删除
改:
edit_obj = list_name[0] #取到的是对象
edit_obj.name = obj_deit_name
edit_obj.save() #保存
from django.shortcuts import render,redirect,HttpResponse from app01 import models # Create your views here. def library_list(request): #返回的是整个网页 library_list_obj = models.library.objects.all().order_by('id') return render(request,'library_list.html',{'library_all':library_list_obj }) def add_library(request):#增加 if request.method == 'POST': add_name = request.POST.get('new_name')#获取new_name的信息 name_list = models.library.objects.filter(name=add_name)#获取数据库的信息 if add_name and not name_list: #判断add_name是否存在 和查找数据库中的信息 models.library.objects.create(name=add_name) return redirect('/library/') if not add_name: #不存在时返回不为空 return render(request,'add_library.html',{'err_name':add_name,'err_mag':'不能为空'}) if name_list: #根据数据库进行判断 return render(request,'add_library.html',{'err_name':add_name,'err_mag':'出版社重复'}) return render(request,'add_library.html') def del_library(request): del_id = request.GET.get('id') #获取id 进行判断 del_list = models.library.objects.filter(id=del_id) if del_list: del_list.delete() #删除 return redirect('/library/') else: return HttpResponse('删除失败') def edit_library(request): #进行修改 edit_id = request.GET.get('id') #打开页面进行获取时的值 list_name = models.library.objects.filter(id=edit_id) #数据库进行取值 print(list_name) err_msg='' #为省略代码 if request.method == 'POST': obj_deit_name = request.POST.get('edit_name') #post打出后的取值 obj_name_list = models.library.objects.filter(name=obj_deit_name) #进行判断 print(obj_deit_name,obj_name_list) if obj_deit_name and list_name and not obj_name_list: edit_obj = list_name[0] #取到的是对象 edit_obj.name = obj_deit_name edit_obj.save() #保存 return redirect('/library/') if obj_name_list: err_msg='出版社已存在' if not obj_deit_name: err_msg = '出版社不能为空' if list_name: obj_name = list_name[0] return render(request,'edit_library.html',{'err_mag':err_msg,'obj_name':obj_name })#改值返回页面 else: return HttpResponse('数据不存在')