Django网站搭建,并配置REST API
对于没有建过网站的同学,可能会比较紧张。然而现在都是用框架建站,几行命令就可以生成带登录窗口和后台管理的空网站。这里我选用了Django。因为python是唯一一门可以做数据采集+网站开发+数据挖掘的语言。而Django是python优秀的网站框架。不接受反驳!
django-admin.py startporject sensordisplay#生成网站
cd sensordisplay
python manage.py startapp sensor#生成app
python manage.py migrate # 初始化数据库
python manage.py createsuperuser # 创建管理员
python manage.py runserver # 运行网站
当然,现在这个网站还不能用,我们需要添加需要的功能:
- 存储数据: 需要在model.py 声明数据字段。sensor/models.py
from django.db import models
class Temperature(models.Model):
captime=models.DateTimeField(auto_now_add=False)
captemperature=models.CharField(max_length=10)
def __str__(self):
return self.captemperature
- 一个页面显示数据:这个我们后面提供代码
- 一个页面显示REST API:配置REST Framework
首先我们来安装REST Framework,命令行输入执行
pip install djangorestframework
更新settings.py
INSTALLED_APPS = [
...
'rest_framework',
'sensor'
]
在sensor目录下新建一个python文件 serializers.py
from rest_framework import serializers
from sensor.models import Temperature
class TempSerializer(serializers.ModelSerializer):
class Meta:
model = Temperature
fields = ['captime', 'captemperature']
在sensor/views.py 里面调用
from sensor.models import Temperature
from sensor.serializers import TempSerializer
from rest_framework import generics
class temperature_api(generics.ListCreateAPIView):
queryset = Temperature.objects.all()
serializer_class = TempSerializer
配置路由:sensordisplay/urls.py # 总网站的路由
from django.urls import include
from django.conf.urls import url
from django.contrib import admin
from sensor import views
urlpatterns = [
url(r'admin/', admin.site.urls),
url(r'^sensor/', include('sensor.urls')), #所有访问传感器的都会跳到传感器路由
]
sensor/urls.py # 传感器路由
from django.conf.urls import url
from sensor import views
urlpatterns = [
url(r'^$', views.temperature,name='sensor.temperature'),
url(r'^temperature_api', views.temperature_api.as_view(),name='sensor.temperature_api'),
url(r'^get_temperature', views.get_temperature,name='sensor.get_temperature'),
]
运行服务器,我们就可以看到效果了
python manage.py runserver