pythonweb图书管理系统_(python2.7)Django下实现查询图书馆藏地的web api

先贴代码,其它的以后再说

2016.9.23更新,更改了返回值数据类型,当请求带callback参数时返回jsonp,否则返回json

urls.py

from django.conf.urls import *

from view import getLocationByName

urlpatterns = [

url(r'^libBook$', getLocationByName),

]

library.py

# -*- coding:utf-8 -*-

__author__='ssins'

from bs4 import BeautifulSoup

import urllib2

import urllib

import re

def getLocationByNo(no):

try:

url = 'http://202.119.252.200:8080/opac/item.php'

values = {'marc_no': no}

data = urllib.urlencode(values)

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'}

requests = urllib2.Request(url, data, headers)

respond = urllib2.urlopen(requests)

bs = BeautifulSoup(respond.read(), 'lxml')

tr = bs.find('tr', class_='whitetext')

td = tr.find('td', width='25%')

return td.string.strip()

except:

return None

def getNoByName(name):

try:

url = 'http://202.119.252.200:8080/opac/openlink.php'

values = {'title': name}

data = urllib.urlencode(values)

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'}

requests = urllib2.Request(url, data, headers)

respond = urllib2.urlopen(requests)

bs = BeautifulSoup(respond.read(), 'lxml')

h3 = bs.find('h3')

a = h3.find('a')

return re.search('\d+',a['href']).group()

except:

return None

view.py

# -*- coding:utf-8 -*-

__author__='ssins'

from django.http import HttpResponse

from library import getLocationByNo

from library import getNoByName

import json

def getLocationByName(requset):

name = requset.GET['name']

print type(name)

location = getLocationByNo(getNoByName(name.encode('utf8')))

result = {'location':location}

resultJ = json.dumps(result)

try:

callback = requset.GET['callback']

return HttpResponse(callback + '( ' + resultJ + ' );')

except:

return HttpResponse(resultJ)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Django框架,可以使用Python开发Web图书管理系统。下面是一个简单的示例: 1. 首先,需要安装Django框架。可以使用以下命令进行安装: ```shell pip install django ``` 2. 创建Django项目和应用程序。可以使用以下命令创建一个名为“library”的Django项目和一个名为“books”的应用程序: ```shell django-admin startproject library cd library python manage.py startapp books ``` 3. 在“books”应用程序中创建模型。在“books/models.py”文件中定义一个名为“Book”的模型,包含书籍的标题、作者、出版日期和ISBN号等信息。 ```python from django.db import models class Book(models.Model): title = models.CharField(max_length=200) author = models.CharField(max_length=200) publication_date = models.DateField() isbn = models.CharField(max_length=20) ``` 4. 创建数据库表。使用以下命令创建数据库表: ```shell python manage.py makemigrations books python manage.py migrate ``` 5. 创建视图。在“books/views.py”文件中定义视图函数,用于处理HTTP请求并返回响应。 ```python from django.shortcuts import render from django.http import HttpResponse def index(request): return HttpResponse("Hello, world. You're at the books index.") ``` 6. 创建URL。在“books/urls.py”文件中定义URL模式,将URL映射到视图函数。 ```python from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), ] ``` 7. 将应用程序的URL包含在主URLconf中。在“library/urls.py”文件中,将应用程序的URL包含在urlpatterns列表中。 ```python from django.contrib import admin from django.urls import include, path urlpatterns = [ path('admin/', admin.site.urls), path('books/', include('books.urls')), ] ``` 8. 运行开发服务器。使用以下命令启动Django开发服务器: ```shell python manage.py runserver ``` 现在,可以在Web浏览器中访问http://127.0.0.1:8000/books/,应该会看到“Hello, world. You're at the books index.”的消息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值