在上一篇中,咱们已经实现了Scrapy框架爬取数据,并且存储到Mongodb数据库,
接下来呢,,,,,,,,,,,,,
咱们就要对这些数据进行操作。
目标:从Mongodb数据库取出数据,通过Django框架展示到web页面,实现展示、分页、添加、修改、删除的功能
1. 准备工作
创建django项目
点击:file–>new project,出现下面的对话框。
选择Django栏目,输入项目名称,选择python解释器版本,点击create创建。
创建APP
在pycharm下方的terminal终端中输入命令:
python manage.py startapp cmdb
这样就创建了一个叫做cmdb的APP,django自动生成“cmdb”文件夹。
2. 连接mongodb数据库(cmdb/models.py)
from django.db import models
from mongoengine import *
# Create your models here.
# 指明要连接的数据库
connect('Complaint',host = '127.0.0.1',port = 27017)
class invitation(Document):
# 定义数据库中的所有字段
number = StringField()
title = StringField()
content = StringField()
url = StringField()
# 指明连接的数据表名
meta = {
'collection':'invitation'}
# 测试是否连接成功
# for i in invitation.objects[:10]:
# print(i.title)
3. 配置相关设置(ComplaintDjango/settings.py)
"""
Django settings for ComplaintDjango project.
Generated by 'django-admin startproject' using Django 2.0.5.
For more information on this file, see
https://docs.djangoproject.com/en/2.0/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/2.0/ref/settings/
"""
import os
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/2.0/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '4c-=!&(4kx9xhrz=e1%((vx#!*v%2pbot$2sss7k6*c$yw@t*e'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = []
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
# csrf跨站请求保护机制,暂时先关闭,或者在form表单里添加一个`{% csrf_token %}`标签。
#'django.middleware.csrf.CsrfViewMiddleware',
'django.con