跳转至内容
0
  • 版块
  • 讨论
  • 最新
  • 标签
  • 热门
  • 顶端
  • 用户
  • 版块
  • 讨论
  • 最新
  • 标签
  • 热门
  • 顶端
  • 用户
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Zephyr)
  • 不使用皮肤
折叠
JIKE社区
  1. 首页
  2. 讨论区
  3. 技术专区
  4. 本社区终于可以向 @ChatGPT 提问了!

本社区终于可以向 @ChatGPT 提问了!

已定时 已固定 已锁定 已移动 技术专区
11.5k 帖子 326 发布者 49.5m 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • G gao55pan

    用python的fastapi框架构建一套学生信息管理系统,mysql学生信息表有name,age,sex,address这四个字段,要求可以通过admin后台管理界面实现对学生信息的增删改查,要求目录结构合理,请给出每个文件的完整代码 @ChatGPT

    ChatGPTC 离线
    ChatGPTC 离线
    ChatGPT
    写于 最后由 编辑
    #2419

    gao55pan说:

    用python的fastapi框架构建一套学生信息管理系统,mysql学生信息表有name,age,sex,address这四个字段,要求可以通过admin后台管理界面实现对学生信息的增删改查,要求目录结构合理,请给出每个文件的完整代码

    1. 项目初始化

    # 创建项目
    mkdir student_info_system
    cd student_info_system
    # 创建虚拟环境
    python -m venv venv
    # 激活虚拟环境
    source venv/bin/activate
    # 安装依赖
    pip install fastapi pydantic
    # 创建目录结构
    mkdir app
    touch app/main.py
    touch app/__init__.py
    mkdir app/admin
    touch app/admin/__init__.py
    touch app/admin/routes.py
    # 创建数据库
    # 这里以mysql为例
    # 创建表
    CREATE TABLE student_info (
        name varchar(20) NOT NULL,
        age int(4) NOT NULL,
        sex varchar(2) NOT NULL,
        address varchar(50) NOT NULL
    );
    # 插入一些测试数据
    INSERT INTO student_info (name, age, sex, address) VALUES ('张三', 20, '男', '北京市朝阳区');
    

    2. 创建Model

    # app/admin/models.py
    from pydantic import BaseModel
    
    class StudentModel(BaseModel):
        name: str
        age: int
        sex: str
        address: str
    

    3. 创建路由

    # app/admin/routes.py
    from fastapi import APIRouter
    from app.admin.models import StudentModel
    
    router = APIRouter()
    
    @router.get("/students")
    def get_students():
        """
        获取学生信息
        """
        # 这里假设已经连接上MySQL数据库,并且可以正常执行SQL语句
        # 从数据库中获取学生信息
        result = db.execute("SELECT name, age, sex, address FROM student_info")
        # 将查询结果转换为StudentModel的实例列表
        students = [StudentModel(**item) for item in result]
        return {"students": students}
    
    @router.post("/students")
    def create_student(student: StudentModel):
        """
        添加学生信息
        """
        # 使用student参数,其类型为StudentModel,可以直接获取name, age, sex, address
        name, age, sex, address = student.name, student.age, student.sex, student.address
        # 执行SQL语句,将数据插入到数据库
        db.execute("INSERT INTO student_info (name, age, sex, address) VALUES (%s, %s, %s, %s)", (name, age, sex, address))
        return {"message": "success"}
    
    @router.put("/students/{student_id}")
    def update_student(student_id: int, student: StudentModel):
        """
        更新学生信息
        """
        # 使用student参数,其类型为StudentModel,可以直接获取name, age, sex, address
        name, age, sex, address = student.name, student.age, student.sex, student.address
        # 执行SQL语句,更新学生信息
        db.execute("UPDATE student_info SET name=%s, age=%s, sex=%s, address=%s WHERE id=%s", (name, age, sex, address, student_id))
        return {"message": "success"}
    
    @router.delete("/students/{student_id}")
    def delete_student(student_id: int):
        """
        删除学生信息
        """
        # 执行SQL语句,删除学生信息
        db.execute("DELETE FROM student_info WHERE id=%s", student_id)
        return {"message": "success"}
    

    4. 创建入口

    # app/main.py
    from fastapi import FastAPI
    from app.admin.routes import router as admin_router
    
    app = FastAPI()
    
    # 添加管理员路由
    app.include_router(admin_router, prefix="/admin")
    

    5. 运行服务

    # 运行服务
    uvicorn app.main:app --reload
    

    帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

    1 条回复 最后回复
    0
    • G 离线
      G 离线
      gao55pan
      🍌
      写于 最后由 编辑
      #2420

      @ChatGPT 使用fastapi构建一个项目,请推荐一个容易上手的后台管理框架

      ChatGPTC 1 条回复 最后回复
      0
      • G gao55pan

        @ChatGPT 使用fastapi构建一个项目,请推荐一个容易上手的后台管理框架

        ChatGPTC 离线
        ChatGPTC 离线
        ChatGPT
        写于 最后由 编辑
        #2421

        gao55pan说:

        使用fastapi构建一个项目,请推荐一个容易上手的后台管理框架

        建议使用Vue Admin。Vue Admin是一款基于Vue.js的开源的后台管理框架,它可以满足复杂的业务场景,更加灵活,可定制化。它具有极佳的性能,清晰的文档和丰富的插件,它可以帮助开发者快速构建出完善的后台管理系统。

        帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

        1 条回复 最后回复
        0
        • G 离线
          G 离线
          gao55pan
          🍌
          写于 最后由 编辑
          #2422

          @ChatGPT 请用fastapi和Vue Admin实现学生信息的管理功能,可以实现增删改查功能,要求目录结构完整,并且给出详细的代码

          ChatGPTC 1 条回复 最后回复
          0
          • G gao55pan

            @ChatGPT 请用fastapi和Vue Admin实现学生信息的管理功能,可以实现增删改查功能,要求目录结构完整,并且给出详细的代码

            ChatGPTC 离线
            ChatGPTC 离线
            ChatGPT
            写于 最后由 编辑
            #2423

            gao55pan说:

            请用fastapi和Vue Admin实现学生信息的管理功能,可以实现增删改查功能,要求目录结构完整,并且给出详细的代码

            。

            Fastapi代码:

            from fastapi import FastAPI
            from pydantic import BaseModel
            
            app = FastAPI()
            
            # 定义学生的Model
            class Student(BaseModel):
                id: str
                name: str
                age: int
                gender: str
            
            # 定义学生的列表
            students = [
                {
                    "id": "stu_001",
                    "name": "小明",
                    "age": 18,
                    "gender": "male"
                }
            ]
            
            # 根据id获取学生
            @app.get("/student/{id}")
            def get_student_by_id(id: str):
                for student in students:
                    if student["id"] == id:
                        return student
            
            # 获取所有学生
            @app.get("/students")
            def get_students():
                return students
            
            # 添加学生
            @app.post("/student")
            def add_student(student: Student):
                students.append(student.dict())
                return student
            
            # 修改学生信息
            @app.put("/student/{id}")
            def update_student(id: str, student: Student):
                for s in students:
                    if s["id"] == id:
                        s.update(student.dict())
                        return s
            
            # 删除学生
            @app.delete("/student/{id}")
            def delete_student(id: str):
                for i, s in enumerate(students):
                    if s["id"] == id:
                        del students[i]
                        return s
            

            Vue Admin代码:

            
              
                
                  
                  
                  
                  
                    
                      编辑
                      删除
                    
                  
                
                
                  
                    
                      
                    
                    
                      
                    
                    
                      
                        
                      
                    
                  
                  
                    取 消
                    确 定
                  
                
              
            
            
            
            export default {
              data() {
                return {
                  students: [],
                  dialogVisible: false,
                  genders: [
                    { value: 'male', label: '男' },
                    { value: 'female', label: '女' }
                  ],
                  form: {
                    name: '',
                    age: '',
                    gender: ''
                  }
                }
              },
              methods: {
                // 获取所有学生
                getStudents() {
                  this.$axios.get('http://127.0.0.1:8000/students').then(res => {
                    this.students = res.data
                  })
                },
                // 编辑学生信息
                handleEdit(index, row) {
                  this.dialogVisible = true
                  this.form.name = row.name
                  this.form.age = row.age
                  this.form.gender = row.gender
                },
                // 删除学生
                handleDelete(index, row) {
                  this.$axios.delete(`http://127.0.0.1:8000/student/${row.id}`).then(res => {
                    this.students.splice(index, 1)
                  })
                },
                // 保存学生
                saveStudent() {
                  this.$axios.put(`http://127.0.0.1:8000/student/${row.id}`, this.form).then(res => {
                    this.students.splice(index, 1, res.data)
                  })
                }
              },
              created() {
                this.getStudents()
              }
            }
            
            

            帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

            1 条回复 最后回复
            0
            • G 离线
              G 离线
              gao55pan
              🍌
              写于 最后由 编辑
              #2424

              @ChatGPT 'yarn' 不是内部或外部命令,也不是可运行的程序

              ChatGPTC 1 条回复 最后回复
              0
              • G gao55pan

                @ChatGPT 'yarn' 不是内部或外部命令,也不是可运行的程序

                ChatGPTC 离线
                ChatGPTC 离线
                ChatGPT
                写于 最后由 编辑
                #2425

                gao55pan说:

                'yarn' 不是内部或外部命令,也不是可运行的程序

                解决方案:

                1. 首先检查本地是否已经安装了Yarn工具,如果没有,请根据操作系统和版本下载安装Yarn。

                2. 如果已经安装了Yarn,请检查系统环境变量中是否添加了Yarn的安装路径。如果没有添加,请按照安装说明添加环境变量,以便系统识别Yarn命令。

                帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                1 条回复 最后回复
                0
                • S 离线
                  S 离线
                  Ss1110
                  写于 最后由 编辑
                  #2426

                  @ChatGPT C 语言编写一个if-else语句和switch语句编写程序表示90-100为优秀,80-89为良好,60-79为及格,60以下为不及格

                  ChatGPTC 1 条回复 最后回复
                  0
                  • S Ss1110

                    @ChatGPT C 语言编写一个if-else语句和switch语句编写程序表示90-100为优秀,80-89为良好,60-79为及格,60以下为不及格

                    ChatGPTC 离线
                    ChatGPTC 离线
                    ChatGPT
                    写于 最后由 编辑
                    #2427

                    Ss1110说:

                    C 语言编写一个if-else语句和switch语句编写程序表示90-100为优秀,80-89为良好,60-79为及格,60以下为不及格

                    if-else语句:

                    if(score>=90 && score=80 && score=60 && score<=79)
                        printf("及格\n");
                    else
                        printf("不及格\n");
                    

                    switch语句:

                    switch(score){
                        case 90 ... 100:
                            printf("优秀\n");
                            break;
                        case 80 ... 89:
                            printf("良好\n");
                            break;
                        case 60 ... 79:
                            printf("及格\n");
                            break;
                        default:
                            printf("不及格\n");
                            break;
                    }
                    

                    帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                    1 条回复 最后回复
                    0
                    • S 离线
                      S 离线
                      Ss1110
                      写于 最后由 编辑
                      #2428

                      C 语言编写一个输入数字并用if-else语句和switch语句编写程序表示90-100为优秀,80-89为良好,60-79为及格,60以下为不及格

                      1 条回复 最后回复
                      0
                      • S 离线
                        S 离线
                        Ss1110
                        写于 最后由 编辑
                        #2429

                        @ChatGPT C 语言编写一个输入数字并用if-else语句和switch语句编写程序表示90-100为优秀,80-89为良好,60-79为及格,60以下为不及格

                        ChatGPTC 1 条回复 最后回复
                        0
                        • S Ss1110

                          @ChatGPT C 语言编写一个输入数字并用if-else语句和switch语句编写程序表示90-100为优秀,80-89为良好,60-79为及格,60以下为不及格

                          ChatGPTC 离线
                          ChatGPTC 离线
                          ChatGPT
                          写于 最后由 编辑
                          #2430

                          Ss1110说:

                          C 语言编写一个输入数字并用if-else语句和switch语句编写程序表示90-100为优秀,80-89为良好,60-79为及格,60以下为不及格

                          // 使用 if-else 语句
                          #include
                          int main()
                          {
                          int number;
                          printf("Please input a number: ");
                          scanf("%d", &number);
                          if (number >= 90 && number = 80 && number = 60 && number
                          int main()
                          {
                          int number;
                          printf("Please input a number: ");
                          scanf("%d", &number);
                          switch (number / 10)
                          {
                          case 10:
                          case 9:
                          printf("Excellent\n");
                          break;
                          case 8:
                          printf("Good\n");
                          break;
                          case 7:
                          case 6:
                          printf("Pass\n");
                          break;
                          default:
                          printf("Failed\n");
                          break;
                          }
                          return 0;
                          }

                          帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                          1 条回复 最后回复
                          0
                          • 我是小马甲~M 离线
                            我是小马甲~M 离线
                            我是小马甲~
                            🤫
                            写于 最后由 编辑
                            #2431

                            @ChatGPT W2C 是什么

                            唐宋元明清,连排小工兵!

                            ChatGPTC 1 条回复 最后回复
                            0
                            • 我是小马甲~M 我是小马甲~

                              @ChatGPT W2C 是什么

                              ChatGPTC 离线
                              ChatGPTC 离线
                              ChatGPT
                              写于 最后由 编辑
                              #2432

                              malaohu说:

                              W2C 是什么

                              W2C 是指 Web to C(网络到C),是一种从 Web 技术和语言转换为 C 语言的过程。它可以用来将网络应用程序或网页上的功能转换为 C 程序,以便在有限的计算资源中实现较大的功能。

                              帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                              1 条回复 最后回复
                              0
                              • G 离线
                                G 离线
                                gao55pan
                                🍌
                                写于 最后由 编辑
                                #2433

                                @ChatGPT 请用Scrapy爬取https://www.chinaz.com/这个页面的文章内容,请给出详细的代码

                                ChatGPTC 1 条回复 最后回复
                                0
                                • G gao55pan

                                  @ChatGPT 请用Scrapy爬取https://www.chinaz.com/这个页面的文章内容,请给出详细的代码

                                  ChatGPTC 离线
                                  ChatGPTC 离线
                                  ChatGPT
                                  写于 最后由 编辑
                                  #2434

                                  gao55pan说:

                                  请用Scrapy爬取https://www.chinaz.com/这个页面的文章内容,请给出详细的代码

                                  -- coding: utf-8 --

                                  import scrapy

                                  class ChinazSpider(scrapy.Spider):
                                  name = 'ChinazSpider'
                                  allowed_domains = ['chinaz.com']
                                  start_urls = ['https://www.chinaz.com/']

                                  def parse(self, response):
                                      # 获取文章链接
                                      article_urls = response.xpath('//div[@class="listCentent"]/h3/a/@href').extract()
                                      # 获取每篇文章内容
                                      for article_url in article_urls:
                                          yield scrapy.Request(url=article_url, callback=self.parse_detail)
                                  
                                  def parse_detail(self, response):
                                      # 获取文章标题
                                      title = response.xpath('//div[@class="ph_news"]/h1/text()').extract_first()
                                      # 获取文章内容
                                      content = response.xpath('//div[@class="ph_news"]/div[@class="ph_content"]/p/text()').extract()
                                      # 把标题和内容作为字典传给item
                                      item = {
                                          'title': title,
                                          'content': content
                                      }
                                      yield item
                                  

                                  帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                                  1 条回复 最后回复
                                  0
                                  • G 离线
                                    G 离线
                                    gao55pan
                                    🍌
                                    写于 最后由 编辑
                                    #2435

                                    @ChatGPT npm ERR! code 128
                                    npm ERR! An unknown git error occurred
                                    这个报错怎么解决?

                                    ChatGPTC 1 条回复 最后回复
                                    0
                                    • G gao55pan

                                      @ChatGPT npm ERR! code 128
                                      npm ERR! An unknown git error occurred
                                      这个报错怎么解决?

                                      ChatGPTC 离线
                                      ChatGPTC 离线
                                      ChatGPT
                                      写于 最后由 编辑
                                      #2436

                                      gao55pan说:

                                      npm ERR! code 128
                                      npm ERR! An unknown git error occurred
                                      这个报错怎么解决?

                                      首先,检查您的网络连接是否正常。如果网络连接正常,考虑清理缓存,重新执行安装命令,或者尝试使用不同的Git客户端,如GitHub Desktop或GitKraken。

                                      帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                                      1 条回复 最后回复
                                      0
                                      • G 离线
                                        G 离线
                                        gao55pan
                                        🍌
                                        写于 最后由 编辑
                                        #2437

                                        @ChatGPT scrapy遇到这个报错怎么结局 [twisted] CRITICAL: Unhandled error in Deferred:

                                        ChatGPTC 1 条回复 最后回复
                                        0
                                        • G gao55pan

                                          @ChatGPT scrapy遇到这个报错怎么结局 [twisted] CRITICAL: Unhandled error in Deferred:

                                          ChatGPTC 离线
                                          ChatGPTC 离线
                                          ChatGPT
                                          写于 最后由 编辑
                                          #2438

                                          gao55pan说:

                                          scrapy遇到这个报错怎么结局 [twisted] CRITICAL: Unhandled error in Deferred:

                                          Scrapy是一个强大的爬虫框架,可以用来抓取网页数据。然而,Scrapy也可能会遇到一些错误,其中一个是[twisted] CRITICAL: Unhandled error in Deferred,这是由于Scrapy出现了一些未处理的错误,导致无法正常工作。

                                          要解决这个问题,首先需要检查Scrapy的日志,以查看是否有任何错误。如果发现了错误,需要查看其详细信息,以确定原因。然后,将查找特定的解决办法,以解决这个问题。

                                          此外,也可以重新安装Scrapy,以确保它运行正常。最后,可以尝试更新Scrapy,以确保它可以正确处理新的功能。

                                          帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                                          1 条回复 最后回复
                                          0
                                          回复
                                          • 在新帖中回复
                                          登录后回复
                                          • 从旧到新
                                          • 从新到旧
                                          • 最多赞同


                                          • 1
                                          • 2
                                          • 122
                                          • 123
                                          • 124
                                          • 125
                                          • 126
                                          • 576
                                          • 577
                                          Popular Topics - 热门主题
                                          • 京东饭卡充399得520元,充999得1314元
                                            Y
                                            yafengliang
                                            3
                                            3
                                            768

                                          • 免费 3个月 cursor 会员,大量链接
                                            S
                                            stef
                                            1
                                            6
                                            1.8k

                                          • 死神来了6 中英字幕 1080P
                                            E
                                            emiliar
                                            1
                                            3
                                            45

                                          • 配合Perplexity账号无限生成 Cursor Pro会员链接JS脚本
                                            undefined
                                            1
                                            1
                                            310

                                          • 【接力贴】flowith 邀请码
                                            C
                                            captchaGPT
                                            0
                                            32
                                            204

                                          • 美团外卖 满18 减 18
                                            mooc9988M
                                            mooc9988
                                            0
                                            4
                                            361

                                          • 登录

                                          • 没有帐号? 注册

                                          • 登录或注册以进行搜索。
                                          百度网盘
                                          1,234 个主题
                                          连续剧
                                          713 个主题
                                          国产剧
                                          574 个主题
                                          美剧
                                          347 个主题
                                          中国移动
                                          307 个主题
                                          动画片
                                          230 个主题
                                          中国电信
                                          222 个主题
                                          恐怖片
                                          207 个主题

                                          103

                                          在线

                                          40.1k

                                          用户

                                          39.9k

                                          主题

                                          110.2k

                                          帖子
                                          • 第一个帖子
                                            最后一个帖子