python -m pip install --user requests
使用API调用请求数据
import requests
class Requests:
def request(self):
url = "https://www.toutiao.com/stream/widget/local_weather/data/?city=北京"
headers = {"Accept": "application/json; charset=utf-8"}
r = requests.get(url, headers=headers)
print(f"Status code:{r.status_code}")
response_dict=r.json()
print(response_dict.keys())
print(response_dict['data']['city'])
print(response_dict['data']['weather']['current_condition'])
Requests().request()
Django项目创建
python -m venv venv
venv\Scripts\activate
source venv/bin/activate
pip install django
django-admin startproject myproject
在进入到myproject运行,因为使用manage.py
python manage.py startapp appppp(应用程序名)
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'appppp',
]
from django.db import models
class MyModel(models.Model):
name = models.CharField(max_length=100)
description = models.TextField()
python manage.py makemigrations
运行 migrate 命令将迁移文件应用到数据库
python manage.py migrate
应用程序目录(appppp)下的views.py
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world!")
应用程序目录(appppp)下创建urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
在项目目录(myproject)下urls.py添加路径映射
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('appppp/', include('appppp.urls')),
]
python manage.py runserver
http://127.0.0.1:8000/appppp/

练习项目
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)
publication_date = models.DateField()
def __str__(self):
return self.title
title = models.CharField(
max_length=100,
null=False,
blank=False,
default='',
unique=True,
help_text='Enter the title of the book.'
)
max_length:
作用:指定字段的最大长度。
适用范围:CharField 和 TextField。
示例:max_length=100 表示 title 字段的最大长度为 100 个字符。
数据库影响:在数据库中,这个字段会被创建为一个固定长度的字符串字段,最大长度为 100。
null:
作用:指定数据库中该字段是否可以为空。
适用范围:所有字段类型。
示例:null=False 表示数据库中 title 字段不能为空。
数据库影响:在数据库中,这个字段会被创建为 NOT NULL。
blank:
作用:指定表单验证时该字段是否可以为空。
适用范围:所有字段类型。
示例:blank=False 表示表单中 title 字段不能为空。
表单影响:在表单验证时,如果 blank=False,则表单提交时该字段必须填写。
default:
作用:指定字段的默认值。
适用范围:所有字段类型。
示例:default='' 表示 title 字段的默认值为空字符串。
数据库影响:在数据库中,如果插入数据时没有提供 title 字段的值,则默认值为空字符串。
unique:
作用:指定字段值是否必须唯一。
适用范围:所有字段类型。
示例:unique=True 表示 title 字段的值必须唯一。
数据库影响:在数据库中,这个字段会被创建为一个唯一索引,确保每个值都是唯一的。
help_text:
作用:指定表单中的帮助文本。
适用范围:所有字段类型。
示例:help_text='Enter the title of the book.' 表示在表单中显示的帮助文本为 "Enter the title of the book."。
表单影响:在表单中,这个帮助文本会显示在字段旁边,提供用户指导
python manage.py makemigrations
python manage.py migrate
from django.shortcuts import render
from .models import Book
def book_list(request):
books = Book.objects.all()
return render(request, 'books/book_list.html', {'books': books})

books = Book.objects.all()
all(): 返回一个包含所有记录的 QuerySet。
filter(**kwargs): 返回一个包含满足条件的记录的 QuerySet。
exclude(**kwargs): 返回一个包含不满足条件的记录的 QuerySet。
get(**kwargs): 返回一个满足条件的单个记录,如果找不到或找到多个记录,会抛出异常。
create(**kwargs): 创建并保存一个新的记录。
get_or_create(**kwargs): 获取一个满足条件的记录,如果不存在则创建一个新的记录。
update_or_create(**kwargs): 更新一个满足条件的记录,如果不存在则创建一个新的记录。
count(): 返回记录的数量。
first(): 返回第一个记录,如果不存在则返回 None。
last(): 返回最后一个记录,如果不存在则返回 None。
order_by(*fields): 按指定字段排序记录。
values(*fields): 返回一个包含指定字段的字典的 QuerySet。
values_list(*fields, flat=False): 返回一个包含指定字段的元组的 QuerySet,如果 flat=True 且只有一个字段,则返回一个扁平的列表。
from django.urls import path
from . import views
urlpatterns = [
path('books/', views.book_list, name='book_list'),
]
<!DOCTYPE html>
<html>
<head>
<title>Book List</title>
</head>
<body>
<h1>Books</h1>
<ul>
{% for book in books %}
<li>{{ book.title }} - {{ book.author }}, Published: {{ book.publication_date }}</li>
{% endfor %}
</ul>
</body>
</html>
python manage.py createsuperuser
from .models import Book
admin.site.register(Book)

from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('appppp.urls')),
]
python manage.py runserver