django新手村14-----添加资料

之前在添加资料时,都是手动去资料库添加,这样很不合理,也没有效率

如果只是为了方便,当然可以使用以下的方法

def create(request):    for i in range(5):        student = Student()        student.name = '王'+str(i)        student.age = i        student.save()    return HttpResponse('create_suc')

但今天资料在excel里面,该怎么办呢

http://img2.58codes.com/2024/20135895M3vzeSDyrA.jpg

在有外键的情况下,不能直接给值,还是要透过外键物件
一班来说openpyxl应改可以用相对路径,但不知道为什么在django下只能用绝对路径

def create(request):    import openpyxl    wb = openpyxl.load_workbook('D:/create.xlsx')    wb.active = 0    ws = wb.active    num = 1    for row in ws:        if num == 1:            num += 1            continue        name = ws['A' + str(num)].value        age = ws['B' + str(num)].value        classroom = ws['C' + str(num)].value        student = Student()        student.name = name        student.age = age        student.classroom = ClassRoom.objects.filter(name=classroom).first()        student.save()        num += 1    return HttpResponse('create_suc')

如果有注册页面,也可以尝试用selenium(后端一定要会selenium吧)
http://img2.58codes.com/2024/20135895aJ5owpdCGi.jpg

这边就不再放注册该怎么做了,只看selenium程式码
chromedriver上网查符合自己版本的,下载放到同一层

import timefrom selenium import webdriverfrom selenium.webdriver.chrome.options import Optionsimport openpyxloptions = Options()options.add_argument("--disable-notifications")# 启动 chrome driverdriver = webdriver.Chrome('chromedriver', options=options)# 指定开启网址driver.get("http://127.0.0.1:8000/app/register/")wb = openpyxl.load_workbook('D:/create.xlsx')wb.active = 0ws = wb.activenum = 1for row in ws:    if num == 1:        num += 1        continue    name = ws['A' + str(num)].value    age = ws['B' + str(num)].value    classroom = ws['C' + str(num)].value    driver.find_element_by_name('name').send_keys(name)    driver.find_element_by_name('age').send_keys(age)    driver.find_element_by_name('classroom').send_keys(classroom)    driver.find_element_by_tag_name("button").click()    time.sleep(2)

我的注册完成后有自动导向到原本页面,所以可以一直跑


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章