首页 > 其他分享 >Django框架学习

Django框架学习

时间:2023-07-15 18:34:18浏览次数:43  
标签:name 框架 项目 创建 py django 学习 scrapy Django

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配置参数

标签:name,框架,项目,创建,py,django,学习,scrapy,Django
From: https://www.cnblogs.com/jiangjiang0613/p/17556661.html

相关文章

  • Perl学习笔记6_进制转换
    目录1.使用sprintf,printf1.1:10进制->非10进制1.2:非10进制->10进制2.使用函数oct,hex2.1非10进制->10进制1.使用sprintf,printf1.1:10进制->非10进制my$num=10;my$s_hex_low=sprintf"%04x",$num;#000a,10进制->16进制小写my$s_hex_high=sprin......
  • Perl学习笔记5_命令行选项
    目录1.Getopt::Long2.Getopt::Std1.Getopt::Long#使用模块useGetopt::Long;#选项初始值my$length=24;my$file="file.dat";my@run=();my$verbose=0;#处理选项#如果参数解析成功,$result=1,#如果参数解析失败(有未知选项或不符合要求),$result=0......
  • 后缀数组学习笔记
    后缀数组是什么后缀数组就是主要处理字符串后缀问题的,它的实现算法主要有两种:倍增法和DC3,复杂度分别是\(O(n\logn)\)和\(O(n)\)。这里由于DC3代码答辩且难以理解,我就只写了倍增法的实现。例题引入P3809【模板】后缀排序题目大意读入一个长度为\(n\)的由大小写英文......
  • 零一PPT学习_P9/P31
    让文字高大上的五种方法一、外边框修饰1、给文字添加边框:插入-插图选项卡-形状(选择形状)2、对形状进行填充:开始-绘图选项卡-形状填充(进行填充色选择)-选择无填充3、对形状轮廓进行选择:开始-绘图选项卡-形状轮廓-选择轮廓颜色、边框粗细步骤图片:(1)选择合适的字体(2)添加边......
  • Perl学习笔记3_条件语句循环
    1.条件语句:if(boolean_expr0){#expr0为true时执行}elsif(boolean_expr1){#expr1为true时执行}else{#没条件匹配时执行}unless(boolean_expr0){#expr0为false时执行}elsif(boolean_expr1){#expr1为true时执行}else{#没......
  • Perl学习笔记4_命令行运行perl语句
    命令行选项例子:catfile.txt|perl-ne'$a+=s/pattern//g;END{print"$a\n"}'作用:计算文件file.txt中匹配“pattern”的个数。解释:1.cat显示文件内容,通过管道将内容送给perl程序处理;如果使用perl-e''file.txt的方式,file.txt将会被修改。使用管道,可以保证原文件......
  • MySQL学习-基本操作
    1.数据库操作创建数据库createdatabasetest;查看数据库showdatabases;进入数据库usetest;删除数据库dropdatabasetest;2.表格操作创建表格 createtabletable1(namevarchar(20),date1date)删除表格droptabletest1修改表格表项altertabletable1modif......
  • Perl学习笔记2_标量数组哈希
    1.概述Perl是弱类型语言,变量不需要指定类型,解释器根据上下文自动选择匹配类型.Perl有三个基本的数据类型:标量($),数组(@),哈希(%).2.标量,scalar标量变量以$标记.my$a=123;#数字my$b="123";#字符串my$c=0x1F;#16进制my$d=047;#8进制my$e......
  • Python学习——Day 6
    流程控制语句break·break语句   ·用于结束循环结构,通常与分支结构if一起使用#输入密码,最多录入3次,如果正确就结束循环foriteminrange(3):pwd=input('请输入密码:')ifpwd=='8888':print('密码正确')breakelse:print('密码......
  • MyBatis框架使用问题
    Mybatis根据数组或者List查询List结果数组参数//接口方法ArrayList<User>selectByIds(Integer[]ids);//xml映射文件<selectid="selectByIds"resultMap="BaseResultMap">select*fromuserwhereidin<foreachitem="item&quo......