标签:正则表达式 网页 top content scripts start 文件中 项目目录 database
代理浏览器上网
Windows环境、Linux环境
python3.6 64位
编辑工具,vscode,sublime,pycharm
fiddler:请求和响应都需要经过fiddler,请求 == fiddler == 服务器(响应)
汉化包:
python环境:
配置和插件
搭建虚拟环境
{
"python.pythonPath": "C:\\Users\\zhangfd\\AppData\\Local\\Programs\\Python\\Python38-32\\python.exe"
}
搭建django开发环境(自动生成)
文件 -- 打开 -- 新建文件mydjango -- 选择mydjango
为该目录创建虚拟环境:左下角点击 -- 终端 -- python8.3 -m venv .venv
若不是python8.3,执行python -m venv .venv
配置文件:ctl + shift + p -- python回车 -- 选择python解析器 -- 左下角能看到python**(‘.env‘:env)
终端:在虚拟环境安装Django
pip install django
django-admin startproject mysite . ## . 表示在当前目录中创建项目mysite
## 执行成功后,在资源管理器:MYSITE 中会创建mysite目录和manager.py
cd mysite
python manage.py runserver ## 启动运行环境,python manage.py runserver [ip port]
## 再来创建一个app,就可以安装业务逻辑进行代码编写了,一定要在项目目录里面
python manage.py startapp app01
python manage.py startapp peom
## 包含的文件
migrations -- 数据库迁移相关的文件
__init__py -- 初始化文件
admin.py -- 后台管理相关文件
apps.py -- 对改项目的配置
models.py -- 数据库相关的文件
tests.py -- 测试使用的文件
views.py -- 视图相关文件,如新增页面等,显示在浏览器中的
使用debug方式运行
where django-admin
django-admni -h
简单应用
## 用户在浏览器中添加链接,发起链接请求,交给后台的view去做处理,view通过函数处理
## view规则:函数用来表示用户请求
# 1、网页内容:peom/views.py中写网页内容
from django.http import HttpResponse
# Create your views here.
def chunxiao(request): ## 指定request
return HttpResponse("春眠不觉晓,处处闻啼鸟") ## 使用HttpResponse封装返回
# 2、路由挂载:在项目mysite中配置url,mysite/mysite/urls.py
from poem.views import chunxiao ## 从包poem的模块views中导入指定函数chunxiao
## 总的映射位置
## 暂且放在默认的url中,但最好是每个项目都有自己的链接,不放在此处,需要在子应用中创建urls.py
urlpatterns = [
...
path(‘webcx/‘,chunxiao)
]
# 3、启动Django
python manage.py runserver 80
# 4、打开网页 127.0.0.1:port/**
创建简单页面总结:
## 需要有承载业务的应用
django-admin startapp app_name
app_name/views 创建视图函数
project_name/urls 添加映射
## 1、app_name/urls.py 创建urls.py文件
from django.urls import path
from . import views
## path三部分,url,views中的函数,name
urlpatterns = [
path(‘webcx‘,views.chunxiao,name="chunxiao"),
path(‘webeee‘,views.eee,name="eee"),
]
## 2、文件project_name/urls.py中引入独立的子路由器urls
from django.contrib import admin
from django.urls import path,include ## 引入include函数
urlpatterns = [
path(‘admin/‘, admin.site.urls),
path(‘shige/‘,include(‘poem.urls‘)) ## 将独立的urls引入,’shige/’可随意设置
]
## 3、访问
http://127.0.0.1/shige/webcx
http://127.0.0.1/shige/webeee
# 1、创建模板
## 由于返回的内容是html,因此需要创建html内容,新建文件夹templates和app_name,
## 此处的app_name只是为了方便高效,很多html时做区分归档,app_name可以指定如poem
poem/templates/poem/shige.html ## 新建shige.html
## 使用!+tab 引入HTML格式,右下角选择语言模式时需要时html才能引入
## 注意此处的内容,因为shige.html是一个模板,当在写一首诗歌时就会有问题,因此需要使用参数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>shige</title>
</head>
<body>
<article>
<h1>春晓</h1>
<p>春眠不觉晓,</p>
<p>处处闻啼鸟。</p>
<p>夜来风雨声,</p>
<p>花落知多少。</p>
</article>
</body>
</html>
# 2、poem/views.py中定义返回的函数
def chunxiao(request):
return render(request,"poem/shige.html",{})
# 3、增加应用
## project_name/project_name/settings.py中引入app_name应用
INSTALLED_APPS = [
‘django.contrib.admin‘,
‘django.contrib.auth‘,
‘django.contrib.contenttypes‘,
‘django.contrib.sessions‘,
‘django.contrib.messages‘,
‘django.contrib.staticfiles‘,
‘poem‘, ## 此处增加app_name应用
]
# 4、访问页面
http://127.0.0.1/shige/webcx
# 5、修改shige.html模板为通用模板
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ shige_name }}</title>
</head>
<body>
<article>
<h1>{{ title }}</h1>
<p>{{ content }}</p>
</article>
</body>
</html>
## 6、修改views.py 传参给html文件
def chunxiao(request):
return render(request,"poem/shige.html",{"shige_name":"春晓","content":"春眠不觉晓,处处闻啼鸟。","title":"春晓"})
def eee(request):
return render(request,"poem/shige.html",{"shige_name":"eee","content":"曲项向天歌,白毛浮绿水。","title":"eee"})
## 使用模板总结:
- 在系统的settings.py 中设置INSTALLED_APPS
- 在子应用中创建tmplates/app_name
- 在目录中创建模板html文档
- 模板文档有自己的语法,{{ content }} 接收传入的参数
- 在views里面使用return render(request,template_name,params_dict)
# 1、在html中指定类class
<body>
<article>
<h1 class="title">{{ title }}</h1>
<p class="content">{{ content }}</p>
</article>
</body>
# 2、新建静态文件夹:app_name/static/
## app_name/static/app_name/yangshi.css,根据class写样式
.title{
text-align: center;
color: red;
}
.content{
text-align: center;
color: green;
}
# 3、在html的head中引入样式
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>诗歌{{ title }}</title>
<!--引入样式BEGIN-->
{% load static %}
<link rel="stylesheet" type="text/css" href="{% static ‘poem/yangshi.css‘ %}">
<!--引入样式 END-->
</head>
# 4、访问页面
# 初步的链接设计
- 首页(诗歌列表) /poem/
- 诗歌详情 /poem/detail/<id>
- 添加诗歌 /poem/add
- 删除诗歌 /poem/delete/<id>
- 修改诗歌 /poem/edit/<id>
# 操作步骤
## 1、创建项目及子应用,
django-admin startproject mypeom
cd mypeom
django-admin startapp peom
python manage.py runserver 80
浏览器:localhost
## 2、添加基本的url和views增删改查
- 总路由表中引入子路由表
from django.urls import path,include
urlpatterns = [
path(‘admin/‘, admin.site.urls),
path(‘shige/‘,include(‘poem.urls‘)),
]
## 3、poem 应用的子路由
## poem 应用的子路由
from django.urls import path
from . import views
urlpatterns = [
# 主页 详情 增 删 改
path(‘‘,views.index,name=‘index‘),
path(‘detail/<int:id>‘,views.detail,name=‘detail‘),
path(‘add‘,views.add,name=‘add‘),
path(‘delete‘,views.delete,name=‘delete‘),
path(‘edit‘,views.edit,name=‘edit‘),
]
# 4、编写views函数页
def index(request):
return HttpResponse(‘index page‘)
def detail(request,id):
return HttpResponse("detail page of {}".format(id))
def add(request):
return HttpResponse("add page")
def delete(request,id):
return HttpResponse("delete page of {}".format(id))
def edit(request,id):
return HttpResponse("edit page of {}".format(id))
# 5、添加model以及数据库的支持
project_name/settings.py增加INSTALLED_APPS
INSTALLED_APPS = [
‘django.contrib.admin‘,
‘django.contrib.auth‘,
‘django.contrib.contenttypes‘,
‘django.contrib.sessions‘,
‘django.contrib.messages‘,
‘django.contrib.staticfiles‘,
‘poem‘, ##增加aPP_name
]
## app_name/models.py
from django.db import models
# Create your models here.
class Peom(models.Model):
title = models.CharField(max_length=100)
content = models.CharField(max_length=1000)
def __str__(self):
return self.title
## 终端命令行:
python manage.py makemigrations poem
- 然后会在app_name/migrations/__pycache__下生产0001——initial.py
- 文件中就会包含id , title 和 content
python manage.py migrate
- 执行上述命令后可使用sqlite插件查看数据
- 安装SQLite -- 查看 -- 命令面板 -- SQLite:open database -- db.sqlite3
- 资源管理器 -- SQLITE EXPLORER -- sqlite3 -- poem_peom
## 进入shell,练习使用Model操作表数据
python manage.py shell
>>> from poem.models import Peom
>>> Peom.objects.all()
<QuerySet []>
>>> Peom.objects.create(title=‘春晓‘,content=‘春眠不觉晓‘)
<Peom: Peom object (1)>
>>> Peom.objects.all()
<QuerySet [<Peom: Peom object (1)>]>
>>> Peom.objects.create(title=‘eee‘,content=‘曲项向天歌‘)
<Peom: Peom object (2)>
>>> Peom.objects.all()
<QuerySet [<Peom: Peom object (1)>, <Peom: Peom object (2)>]>
-- 再次进入数据库- 资源管理器 -- SQLITE EXPLORER -- sqlite3 -- poem_peom
-- 能看到刚插入的数据
# 6、实现首页诗歌列表页面
搭建flask开发环境(手动创建)
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
return "hello world flask"
if __name__ == "__main__":
app.run()
模拟浏览器发送请求的库,python自带
标签:正则表达式 网页 top content scripts start 文件中 项目目录 database
原文地址:https://www.cnblogs.com/moox/p/13199511.html