Django是一个基于MVC(Model-View-Controller)框架的Python Web应用程序框架。它具有以下特点:
- 由于它非常易于学习和使用,因此非常受欢迎,因此它有一个庞大的社区支持。
- 使用 Django 可以以非常快的速度构建高质量的Web应用程序,因为它提供了丰富的功能和预构建的组件。
- Django 具有安全性好、可扩展性强、易于维护和部署的优点。
Django的核心部分由许多组件组成,其中一些包括:
-
URL 路由系统:这个系统帮助您在应用程序中处理URL,使您能够创建易于使用的URL。
-
模板引擎: Django 模板引擎使您能够使用简单的模板语言创建动态Web页面。
-
ORM(Object-Relational Mapping):使您可以使用 Python 代码操作数据库,而无需编写 SQL 代码。
-
表单处理:Django 提供了一个快速且简单的表单处理系统,使您能够轻松地将表单添加到应用程序中,并从中接收用户输入。
-
身份验证系统:Django 提供了一个内置的身份验证系统,可用于管理应用程序中的用户身份验证和授权。
在Django中,您可以创建一个称为“应用程序”的模块,每个应用程序处理一个特定的功能。每个应用程序都由一个模型(定义数据结构),一个视图(实际呈现数据的代码)和一个模板(定义呈现数据的样式)组成。每个应用程序都可以连接到 Django 的核心中心,并且可以在其中进行配置。
1、搭建
pip install django==2.2.12 -i https://pypi.doubanio.com/simple
django-admin startproject 项目名称
用pycharm打开新创建的项目,并添加虚拟环境venv,
2、配置
在虚拟环境中安装django,打开项目目录下的settings文件,可以配置项目参数
# 汉化
LANGUAGE_CODE = 'zh-hans'
# 时区
TIME_ZONE = 'Asia/Shanghai'
创建Django应用(App)
在终端输入:
python manage.py startapp polls 或
django-admin startapp polls
在setting的INSTALLED_APPS将刚才创建的APP注册
在项目名称目录下的urls文件夹中添加app的路由(在新建APP文件夹下创建urls.py文件)
urlpatterns = [
path('admin/', admin.site.urls),
path('one/', include('one.urls'))
]
在app的urls.py里面配置视图函数的路由
from django.urls import path
from one.views import Login
urlpatterns = [
path('login/', Login.as_view()),
]
在app的models.py写数据库模型类
from django.db import models
# Create your models here.
class User(models.Model):
user_id = models.AutoField(primary_key=True)
username = models.CharField(max_length=255, null=True, verbose_name='用户名')
password = models.CharField(max_length=255, null=True, verbose_name='密码')
class Meta:
managed = True
db_table = 'tb_user'
在app的views.py文件里面开始写业务逻辑
from django.http import HttpResponse, JsonResponse
from django.shortcuts import render
from django.views import View
from one.models import User
class Login(View):
def get(self, request, **kwargs):
name = request.GET.get('name', 'World')
message = f'Hello, {name}!'
# return HttpResponse(message)
data = [i for i in User.objects.all().values()]
return JsonResponse({'data': data})
然后打开终端运行,就可以访问:http://127.0.0.1:8000/one/login
python manage.py runserver 0.0.0.0:8000