python之Django

推荐学习资料

《15分钟轻松学 Python》教程目录-优快云博客

每天40分玩转Django教程目录-优快云博客

Pycharm社区版搭建Django环境及Django简单项目、操控mysql数据库-优快云博客

这个开源有关于事务方面高级内容介绍:

django-vue-lyadmin: django-vue-lyadmin前端采用vue3+elementplus,后端采用Python Django DRF的一套前后端分离的低代码快速后台开发平台(专业版带有代码生成和表单构建器)、支持简易商城模块、定时任务、webssh运维、系统监控、内置常用功能api接口如:登陆、短信、支付宝微信支付,RABC权限控制。登录使用simplejwt,webpack\vite自由选择

一:python与Java的区别

wsgi相当于tomcat
settings相当于spring中的applicationContext

一个python文件就是一个模块,一个模块可以包含多个类,不像Java,一个文件只是一个类
-init-.py用于标识文件夹,方便import引入
不需要指定变量类型,直接就可以右边的进行推断

django相当于spring+hebinate,SQL的查询都是通过对象方法实现,不像mybatis要写XML

    # 获取查询条件
    start_date = request.POST.get("start_date")
    end_date = request.POST.get("end_date")
    order_type = request.POST.get("order_type")
    order_nature = request.POST.get("order_nature")
 
    # 定义存储查询条件的字典
    search_dict = dict()
 
    # 如果查询条件不为空就写入到字典中
    if order_type:
        search_dict["order_type"] = order_type
    if order_nature:
        search_dict["net_self"] = order_nature
 
    # 此处是关键,filter过滤字典中的查询条件
    all_data = PassPicture.objects.filter(**search_dict)
 
    # 因为开始日期和结束日期必须都输入,才会过滤日期,所以需要此步骤
    if start_date and end_date:
        all_data = all_data.filter(Q(pass_date__gte=start_date) & Q(pass_date__lte=end_date))
 
    # 如果没有输入查询条件,默认返回空
    if len(all_data) == len(all_data2):
    all_data = ""

二:Python安装


访问Python官网下载Python 3.x版本(推荐3.8以上)
安装时勾选"Add Python to PATH"
验证安装:打开命令行输入
python --version

pip配置(Python包管理工具)
pip通常随Python一起安装
验证pip安装:
pip --version
配置国内镜像源(可选,但推荐):
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple


三 Django安装


pip install django

验证Django安装:

import django
print(django.get_version())



四、创建第一个Django项目


4.1 创建项目
django-admin startproject mysite

4.2 项目结构说明

mysite/
    ├── manage.py           # 项目管理文件
    └── mysite/
        ├── __init__.py     # 空文件,表明该目录是一个Python包
        ├── settings.py     # 项目设置文件
        ├── urls.py         # URL声明文件
        ├── asgi.py        # ASGI兼容的Web服务器的入口
        └── wsgi.py        # WSGI兼容的Web服务器的入口

4.3 基本配置(settings.py)

# mysite/settings.py

# 数据库配置
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

# 语言和时区设置
LANGUAGE_CODE = 'zh-hans'  # 设置语言为中文
TIME_ZONE = 'Asia/Shanghai'  # 设置时区为中国时区
USE_I18N = True
USE_L10N = True
USE_TZ = True

# 静态文件设置
STATIC_URL = '/static/'

4.4 创建应用

python manage.py startapp blog
4.5 注册应用

# mysite/settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog.apps.BlogConfig',  # 添加新创建的应用
]

每天40分玩转Django:简介和环境搭建_django框架-优快云博客

4.6 执行

python manage.py runserver 

4.7 生产部署

一、环境准备

1. 检查Python安装:使用python3 --version检查Linux系统上是否已安装Python。如未安装,可使用包管理器(如apt、yum)进行安装。

2. 安装依赖库:根据项目需求,使用pip3 install命令安装所需的Python库和框架,例如Flask、Django、requests等。

二、项目部署

1. 拷贝项目文件:将Python项目文件拷贝到Linux服务器的指定目录。

2. 配置环境变量:如有需要,配置环境变量以便系统能找到Python解释器和相关库。

3. 安装WSGI服务器:在生产环境中,通常使用WSGI服务器(如Gunicorn、uWSGI)来处理Python代码的执行。使用pip3 install命令安装选定的WSGI服务器。

4. 运行项目:使用WSGI服务器运行Python项目。例如,若使用Gunicorn运行一个Flask应用,可使用如下命令:

【bash】
 gunicorn --bind 0.0.0.0:8000 app:app

其中app:app表示Flask应用的实例名和模块名。

三、配置反向代理

1. 安装Nginx:使用包管理器安装Nginx作为反向代理服务器。

2. 配置Nginx:编辑Nginx配置文件,添加对应的服务器配置,将请求转发到WSGI服务器监听的端口。例如:

【nginx】
 server {
       listen 80;
       server_name myapp.com;
       location / {
           proxy_pass http://127.0.0.1:8000;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Proto $scheme;
       }
   }

3. 重启Nginx:配置完成后,重启Nginx以应用新的配置。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhousenshan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值