Django框架学习

发布时间 2023-07-15 18:28:21作者: storyneverends

Django 框架开发

项目的创建

1、在终端创建项目

  • 打开终端

  • 进入某个目录(项目位置)

    "C:\Program Files\Python37\Scripts\django-admin.exe" startproject 项目名称
    

2、在pycharm创建项目

3、默认项目的文件介绍

image-20230102150607533

app

  • 终端创建app
python manage.py startapp app01 
  • 默认项目文件介绍

image-20230102151605787

快速上手

  • setting.py中注册app

image-20230102152242222

  • urls.py中编写url和视图函数对应关系

image-20230102152839002

  • views.py中编写视图函数

image-20230102153527626

  • 启动django项目(pycharm中直接启动)

    python manage.py runserver
    

django模板语法

django操作数据库

1、django连接数据库

在setting.py中进行配置与修改

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test02',
        'USER': 'root',
        'PASSWORD': 'root',
        'HOST': 'localhost',
        'PORT': 3306,
    }
}

2、django操作表

在mods.py文件中

  • 创建表
class UserInfo(models.Model):
    name = models.CharField(max_length=32)
    password = models.CharField(max_length=64)
    age = models.IntegerField()

终端执行代码

python manage.py makemigrations
python manage.py migrate
  • 删除表
  • 修改表

3、操作表中的数据

# 新建
UserInfo.objects.create(name = "tjn", password = "tjn", age = "23")
# 删除
UserInfo.objects.filiter(name = "tjn").delete   #筛选
# 获取数据
UserInfo.objects.all()
# 修改
UserInfo.objects.fliter(name = 'tjn').updata(name = 'yym')

静态文件管理

创建static和templates目录

vue-cli快速上手

1.创建vue脚手架项目

vue init webpack 项目名

2.启动项目

cd 项目名 #进入项目目录
npm start

3.引用axios

import axios from 'axios'
Vue.prototype.$http = axios

scrapy

cd 文件目录
scrapy startproject myspider
cd myspider 
scrapy genspider zhihu www.zhihu.com
scrapy crawl zhihu

官方文档:https://www.osgeo.cn/scrapy/topics/request-response.html

scrapy-redis

demo:

git clone https://github.com/rolando/scrapy-redis.git
mv scrapy-redis/example-project ~/scrapyredis-pro

分布式爬虫编写流程

1.编写普通爬虫

  • 创建项目
  • 明确目标
  • 创建爬虫
  • 保存内容

2.改造成分布式爬虫

  1. 改造爬虫:
    1. 导入scrapy_redis
    2. 继承类
    3. 注销start_url & allowed_domains
    4. 设置redis_key获取start_url
    5. 设置__init__获取允许的域
  2. 改造配置参数
    copy配置参数