# ip地域查询 **Repository Path**: ip997com/ip-region-query ## Basic Information - **Project Name**: ip地域查询 - **Description**: IP地址定位分析系统是一个基于Django框架开发的Web应用,用于查询和分析IP地址的地理位置信息。系统能够获取IP地址的国家、地区、城市、邮政编码、经纬度、时区、ISP和AS等详细信息,并提供地图预览功能。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-28 - **Last Updated**: 2026-03-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # IP分析与文章管理系统 ## 项目简介 这是一个基于Django框架开发的集成系统,同时提供IP地址地理位置查询分析功能和文章管理功能。系统支持IP地址查询、地理位置信息展示,以及文章的发布、管理和分类功能。 ## 功能特性 - IP地址地理位置查询与分析 - 自动识别并显示访问者IP地址及地理位置 - 文章发布、管理与分类系统 - 文章标签系统,支持按标签筛选内容 - 文章阅读量统计与热门文章推荐 - 支持粘性文章置顶功能 - 响应式设计,支持多终端访问 - 提供RESTful API接口 ## 技术栈 - 后端:Django 4.x - 前端:HTML5, CSS3, JavaScript - 数据库:SQLite - 富文本编辑器:django-ckeditor - 代码高亮:pygments - IP地理位置API:ip-api.com ## 快速开始 ### 环境要求 - Python 3.8+ - Django >= 4.0.1, < 5.0 - SQLite 3.24+ ### 安装步骤 1. 克隆代码库: ```bash git clone https://github.com/yourusername/ip-region-query.git cd ip-region-query ``` 2. 创建虚拟环境: ```bash python -m venv venv source venv/bin/activate # Linux/Mac # 或 venv\Scripts\activate # Windows ``` 3. 安装依赖: ```bash pip install -r requirements.txt ``` 4. 数据库初始化: ```bash python manage.py migrate ``` 5. 创建超级用户(可选): ```bash python manage.py createsuperuser # 或使用项目提供的密码重置脚本 python reset_admin_password.py ``` 6. 运行开发服务器: ```bash python manage.py runserver ``` 7. 访问系统: - 首页:http://localhost:8000/ - 管理后台:http://localhost:8000/admin/ ## 项目结构 ``` ip-region-query/ ├── ip_locator/ # 主项目目录 │ ├── settings.py # 项目配置文件 │ ├── urls.py # URL路由配置 │ └── wsgi.py # WSGI配置 ├── ip_analysis/ # 主应用目录 │ ├── migrations/ # 数据库迁移文件 │ ├── models.py # 数据模型定义(包含Article和Tag模型) │ ├── views.py # 视图函数 │ ├── templates/ # HTML模板 │ └── static/ # 静态资源 ├── static/ # 项目级静态资源 ├── templates/ # 项目级模板 ├── requirements.txt # 依赖列表 ├── manage.py # Django管理脚本 ├── reset_admin_password.py # 管理员密码重置脚本 └── README.md # 项目说明文档 ``` ## API文档 ### IP查询接口 #### GET /api/ip-analysis/ **请求参数:** - `ip_address`: 要查询的IP地址 **返回示例:** ```json { "status": "success", "country": "中国", "regionName": "广东省", "city": "深圳市", "isp": "中国移动", "lat": 22.5431, "lon": 114.0579 } ``` ### 支持CURL请求 系统支持通过curl命令获取客户端IP: ```bash curl http://localhost:8000/ ``` 返回: ```json {"client_ip": "192.168.1.1"} ``` ## 使用说明 1. **IP查询功能**: - 在首页输入框中输入IP地址,点击查询按钮进行分析 - 系统会自动显示访问者的IP地址及地理位置 2. **文章管理**: - 访问管理后台(/admin/)进行文章发布和管理 - 创建文章时可以添加标签进行分类 - 可以设置文章为"粘性"以实现置顶功能 - 支持富文本编辑和SEO优化 3. **前端浏览**: - 首页显示热门文章和最新文章 - 可以通过标签筛选文章 - 文章详情页显示相关文章推荐 ## 数据模型 ### Article(文章) - 标题、内容、摘要 - 发布状态(草稿/已发布) - 发布日期、更新日期 - 阅读量统计 - SEO相关字段(meta描述、关键词等) - 粘性文章标记 - 多对多关联标签 ### Tag(标签) - 名称、描述 - 使用次数统计 - 激活状态标记 ## 注意事项 1. 系统使用第三方IP地理位置查询服务(ip-api.com),查询频率可能受到限制 2. 生产环境部署时建议配置合适的缓存机制 3. 定期更新依赖包以确保系统安全 4. 数据库迁移需使用`python manage.py migrate`命令 ## 许可证 [MIT License](https://opensource.org/licenses/MIT) ## 贡献指南 欢迎提交Issue和Pull Request!请确保代码风格一致,并添加相应的测试用例。