config.json 29.6 KB
Newer Older
F
feilong 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
{
  "export": [
    "server.json"
  ],
  "keywords": [],
  "children": [
    {
      "Flask简介": {
        "keywords": [],
        "children": [
          {
            "安装": {
              "keywords": [],
              "children": [
                {
                  "创建应用目录": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
19 20 21
                    "node_id": "python-6-56",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
22 23 24 25 26 27
                  }
                },
                {
                  "虚拟环境": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
28 29 30
                    "node_id": "python-6-57",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
31 32 33 34 35 36
                  }
                },
                {
                  "在Python 3中创建虚拟环境": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
37 38 39
                    "node_id": "python-6-58",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
40 41 42 43 44 45
                  }
                },
                {
                  "在Python 2中创建虚拟环境": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
46 47 48
                    "node_id": "python-6-59",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
49 50 51 52 53 54
                  }
                },
                {
                  "使用虚拟环境": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
55 56 57
                    "node_id": "python-6-60",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
58 59 60 61 62 63
                  }
                },
                {
                  "使用pip安装Python包": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
64 65 66
                    "node_id": "python-6-61",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
67 68 69
                  }
                }
              ],
L
luxin 已提交
70 71 72
              "node_id": "python-5-467",
              "keywords_must": [],
              "keywords_forbid": []
F
feilong 已提交
73 74 75 76 77 78 79 80 81 82
            }
          },
          {
            "应用的基本结构": {
              "keywords": [],
              "children": [
                {
                  "初始化": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
83 84 85
                    "node_id": "python-6-62",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
86 87 88 89 90 91
                  }
                },
                {
                  "路由和视图函数": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
92 93 94
                    "node_id": "python-6-63",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
95 96 97 98 99 100
                  }
                },
                {
                  "一个完整的应用": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
101 102 103
                    "node_id": "python-6-64",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
104 105 106 107 108 109
                  }
                },
                {
                  "Web开发服务器": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
110 111 112
                    "node_id": "python-6-65",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
113 114 115 116 117 118
                  }
                },
                {
                  "动态路由": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
119 120 121
                    "node_id": "python-6-66",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
122 123 124 125 126 127
                  }
                },
                {
                  "调试模式": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
128 129 130
                    "node_id": "python-6-67",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
131 132 133 134 135 136
                  }
                },
                {
                  "命令行选项": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
137 138 139
                    "node_id": "python-6-68",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
140 141 142 143 144 145 146 147 148 149
                  }
                },
                {
                  "请求–响应循环": {
                    "keywords": [],
                    "children": [
                      {
                        "应用和请求上下文": {
                          "keywords": [],
                          "children": [],
L
luxin 已提交
150 151 152
                          "node_id": "python-7-15",
                          "keywords_must": [],
                          "keywords_forbid": []
F
feilong 已提交
153 154 155 156 157 158
                        }
                      },
                      {
                        "请求分派": {
                          "keywords": [],
                          "children": [],
L
luxin 已提交
159 160 161
                          "node_id": "python-7-16",
                          "keywords_must": [],
                          "keywords_forbid": []
F
feilong 已提交
162 163 164 165 166 167 168 169 170 171
                        }
                      },
                      {
                        "请求对象": {
                          "keywords": [],
                          "children": [
                            {
                              "对象显示": {
                                "keywords": [],
                                "children": [],
L
luxin 已提交
172 173 174
                                "node_id": "python-8-0",
                                "keywords_must": [],
                                "keywords_forbid": []
F
feilong 已提交
175 176 177 178 179 180
                              }
                            },
                            {
                              "有效创建大量对象": {
                                "keywords": [],
                                "children": [],
L
luxin 已提交
181 182 183
                                "node_id": "python-8-1",
                                "keywords_must": [],
                                "keywords_forbid": []
F
feilong 已提交
184 185 186 187 188 189
                              }
                            },
                            {
                              "由字符串调用对象": {
                                "keywords": [],
                                "children": [],
L
luxin 已提交
190 191 192
                                "node_id": "python-8-2",
                                "keywords_must": [],
                                "keywords_forbid": []
F
feilong 已提交
193 194 195
                              }
                            }
                          ],
L
luxin 已提交
196 197 198
                          "node_id": "python-7-17",
                          "keywords_must": [],
                          "keywords_forbid": []
F
feilong 已提交
199 200 201 202 203 204
                        }
                      },
                      {
                        "请求钩子": {
                          "keywords": [],
                          "children": [],
L
luxin 已提交
205 206 207
                          "node_id": "python-7-18",
                          "keywords_must": [],
                          "keywords_forbid": []
F
feilong 已提交
208 209 210
                        }
                      }
                    ],
L
luxin 已提交
211 212 213
                    "node_id": "python-6-69",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
214 215 216 217 218 219
                  }
                },
                {
                  "Flask扩展": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
220 221 222
                    "node_id": "python-6-70",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
223 224 225
                  }
                }
              ],
L
luxin 已提交
226 227 228
              "node_id": "python-5-468",
              "keywords_must": [],
              "keywords_forbid": []
F
feilong 已提交
229 230 231 232 233 234 235 236 237 238 239 240 241 242
            }
          },
          {
            "模板": {
              "keywords": [],
              "children": [
                {
                  "Jinja2模板引擎": {
                    "keywords": [],
                    "children": [
                      {
                        "渲染模板": {
                          "keywords": [],
                          "children": [],
L
luxin 已提交
243 244 245
                          "node_id": "python-7-19",
                          "keywords_must": [],
                          "keywords_forbid": []
F
feilong 已提交
246 247 248 249 250 251 252 253 254 255
                        }
                      },
                      {
                        "变量": {
                          "keywords": [],
                          "children": [
                            {
                              "匿名函数捕获变量值": {
                                "keywords": [],
                                "children": [],
L
luxin 已提交
256 257 258
                                "node_id": "python-8-3",
                                "keywords_must": [],
                                "keywords_forbid": []
F
feilong 已提交
259 260 261 262 263 264
                              }
                            },
                            {
                              "访问闭包中定义的变量": {
                                "keywords": [],
                                "children": [],
L
luxin 已提交
265 266 267
                                "node_id": "python-8-4",
                                "keywords_must": [],
                                "keywords_forbid": []
F
feilong 已提交
268 269 270
                              }
                            }
                          ],
L
luxin 已提交
271 272 273
                          "node_id": "python-7-20",
                          "keywords_must": [],
                          "keywords_forbid": []
F
feilong 已提交
274 275 276 277 278 279
                        }
                      },
                      {
                        "控制结构": {
                          "keywords": [],
                          "children": [],
L
luxin 已提交
280 281 282
                          "node_id": "python-7-21",
                          "keywords_must": [],
                          "keywords_forbid": []
F
feilong 已提交
283 284 285
                        }
                      }
                    ],
L
luxin 已提交
286 287 288
                    "node_id": "python-6-71",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
289 290 291 292 293 294
                  }
                },
                {
                  "使用Flask-Bootstrap集成Bootstrap": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
295 296 297
                    "node_id": "python-6-72",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
298 299 300 301 302 303
                  }
                },
                {
                  "自定义错误页面": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
304 305 306
                    "node_id": "python-6-73",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
307 308 309 310 311 312
                  }
                },
                {
                  "链接": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
313 314 315
                    "node_id": "python-6-74",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
316 317 318 319 320 321
                  }
                },
                {
                  "静态文件": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
322 323 324
                    "node_id": "python-6-75",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
325 326 327 328 329 330
                  }
                },
                {
                  "使用Flask-Moment本地化日期和时间": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
331 332 333
                    "node_id": "python-6-76",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
334 335 336
                  }
                }
              ],
L
luxin 已提交
337 338 339
              "node_id": "python-5-469",
              "keywords_must": [],
              "keywords_forbid": []
F
feilong 已提交
340 341 342 343 344 345 346 347 348 349
            }
          },
          {
            "Web表单": {
              "keywords": [],
              "children": [
                {
                  "配置": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
350 351 352
                    "node_id": "python-6-77",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
353 354 355 356 357 358
                  }
                },
                {
                  "表单类": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
359 360 361
                    "node_id": "python-5-1569",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
362 363 364 365 366 367
                  }
                },
                {
                  "把表单渲染成HTML": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
368 369 370
                    "node_id": "python-5-1570",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
371 372 373 374 375 376
                  }
                },
                {
                  "在视图函数中处理表单": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
377 378 379
                    "node_id": "python-6-80",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
380 381 382 383 384 385
                  }
                },
                {
                  "重定向和用户会话": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
386 387 388
                    "node_id": "python-6-81",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
389 390 391 392 393 394
                  }
                },
                {
                  "闪现消息": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
395 396 397
                    "node_id": "python-6-82",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
398 399 400
                  }
                }
              ],
L
luxin 已提交
401 402 403
              "node_id": "python-5-470",
              "keywords_must": [],
              "keywords_forbid": []
F
feilong 已提交
404 405 406 407 408 409 410 411 412 413
            }
          },
          {
            "数据库": {
              "keywords": [],
              "children": [
                {
                  "SQL数据库": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
414 415 416
                    "node_id": "python-6-83",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
417 418 419 420 421 422
                  }
                },
                {
                  "NoSQL数据库": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
423 424 425
                    "node_id": "python-6-84",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
426 427 428 429 430 431
                  }
                },
                {
                  "使用SQL还是NoSQL": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
432 433 434
                    "node_id": "python-6-85",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
435 436 437 438 439 440
                  }
                },
                {
                  "Python数据库框架": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
441 442 443
                    "node_id": "python-6-86",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
444 445 446 447 448 449
                  }
                },
                {
                  "使用Flask-SQLAlchemy管理数据库": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
450 451 452
                    "node_id": "python-6-87",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
453 454 455 456 457 458
                  }
                },
                {
                  "定义模型": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
459 460 461
                    "node_id": "python-6-88",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
462 463 464 465 466 467
                  }
                },
                {
                  "关系": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
468 469 470
                    "node_id": "python-6-89",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
471 472 473 474 475 476 477 478 479 480
                  }
                },
                {
                  "数据库操作": {
                    "keywords": [],
                    "children": [
                      {
                        "创建表": {
                          "keywords": [],
                          "children": [],
L
luxin 已提交
481 482 483
                          "node_id": "python-7-22",
                          "keywords_must": [],
                          "keywords_forbid": []
F
feilong 已提交
484 485 486 487 488 489
                        }
                      },
                      {
                        "插入行": {
                          "keywords": [],
                          "children": [],
L
luxin 已提交
490 491 492
                          "node_id": "python-7-23",
                          "keywords_must": [],
                          "keywords_forbid": []
F
feilong 已提交
493 494 495 496 497 498
                        }
                      },
                      {
                        "修改行": {
                          "keywords": [],
                          "children": [],
L
luxin 已提交
499 500 501
                          "node_id": "python-7-24",
                          "keywords_must": [],
                          "keywords_forbid": []
F
feilong 已提交
502 503 504 505 506 507
                        }
                      },
                      {
                        "删除行": {
                          "keywords": [],
                          "children": [],
L
luxin 已提交
508 509 510
                          "node_id": "python-7-25",
                          "keywords_must": [],
                          "keywords_forbid": []
F
feilong 已提交
511 512 513 514 515 516
                        }
                      },
                      {
                        "查询行": {
                          "keywords": [],
                          "children": [],
L
luxin 已提交
517 518 519
                          "node_id": "python-7-26",
                          "keywords_must": [],
                          "keywords_forbid": []
F
feilong 已提交
520 521 522
                        }
                      }
                    ],
L
luxin 已提交
523 524 525
                    "node_id": "python-6-90",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
526 527 528 529 530 531
                  }
                },
                {
                  "在视图函数中操作数据库": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
532 533 534
                    "node_id": "python-6-91",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
535 536 537 538 539 540
                  }
                },
                {
                  "集成Python shell": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
541 542 543
                    "node_id": "python-6-92",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
544 545 546 547 548 549 550 551 552 553
                  }
                },
                {
                  "使用Flask-Migrate实现数据库迁移": {
                    "keywords": [],
                    "children": [
                      {
                        "创建迁移仓库": {
                          "keywords": [],
                          "children": [],
L
luxin 已提交
554 555 556
                          "node_id": "python-7-27",
                          "keywords_must": [],
                          "keywords_forbid": []
F
feilong 已提交
557 558 559 560 561 562
                        }
                      },
                      {
                        "创建迁移脚本": {
                          "keywords": [],
                          "children": [],
L
luxin 已提交
563 564 565
                          "node_id": "python-7-28",
                          "keywords_must": [],
                          "keywords_forbid": []
F
feilong 已提交
566 567 568 569 570 571
                        }
                      },
                      {
                        "更新数据库": {
                          "keywords": [],
                          "children": [],
L
luxin 已提交
572 573 574
                          "node_id": "python-7-29",
                          "keywords_must": [],
                          "keywords_forbid": []
F
feilong 已提交
575 576 577 578 579 580
                        }
                      },
                      {
                        "添加几个迁移": {
                          "keywords": [],
                          "children": [],
L
luxin 已提交
581 582 583
                          "node_id": "python-7-30",
                          "keywords_must": [],
                          "keywords_forbid": []
F
feilong 已提交
584 585 586
                        }
                      }
                    ],
L
luxin 已提交
587 588 589
                    "node_id": "python-6-93",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
590 591 592
                  }
                }
              ],
L
luxin 已提交
593 594 595
              "node_id": "python-5-471",
              "keywords_must": [],
              "keywords_forbid": []
F
feilong 已提交
596 597 598 599 600 601 602 603 604 605
            }
          },
          {
            "电子邮件": {
              "keywords": [],
              "children": [
                {
                  "电子邮件系统组件和协议": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
606 607 608
                    "node_id": "python-6-94",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
609 610 611 612 613 614
                  }
                },
                {
                  "发送电子邮件": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
615 616 617
                    "node_id": "python-6-95",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
618 619 620 621 622 623
                  }
                },
                {
                  "Python和SMTP": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
624 625 626
                    "node_id": "python-6-96",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
627 628 629 630 631 632
                  }
                },
                {
                  "smtplib.SMTP类方法": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
633 634 635
                    "node_id": "python-6-97",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
636 637 638 639 640 641
                  }
                },
                {
                  "交互式SMTP示例": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
642 643 644
                    "node_id": "python-6-98",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
645 646 647 648 649 650
                  }
                },
                {
                  "SMTP的其他内容": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
651 652 653
                    "node_id": "python-6-99",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
654 655 656 657 658 659
                  }
                },
                {
                  "接收电子邮件": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
660 661 662
                    "node_id": "python-6-100",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
663 664 665 666 667 668
                  }
                },
                {
                  "POP和IMAP": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
669 670 671
                    "node_id": "python-6-101",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
672 673 674 675 676 677
                  }
                },
                {
                  "交互式POP3示例": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
678 679 680
                    "node_id": "python-6-102",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
681 682 683 684 685 686
                  }
                },
                {
                  "poplib.POP3类方法": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
687 688 689
                    "node_id": "python-6-103",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
690 691 692 693 694 695
                  }
                },
                {
                  "客户端程序SMTP和POP3示例": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
696 697 698
                    "node_id": "python-6-104",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
699 700 701 702 703 704
                  }
                },
                {
                  "交互式IMAP4示例": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
705 706 707
                    "node_id": "python-6-105",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
708 709 710 711 712 713
                  }
                },
                {
                  "imaplib.IMAP4类中的常用方法": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
714 715 716
                    "node_id": "python-6-106",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
717 718 719
                  }
                }
              ],
L
luxin 已提交
720 721 722
              "node_id": "python-5-472",
              "keywords_must": [],
              "keywords_forbid": []
F
feilong 已提交
723 724 725 726 727 728 729 730 731 732
            }
          },
          {
            "大型应用的结构": {
              "keywords": [],
              "children": [
                {
                  "配置选项": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
733 734 735
                    "node_id": "python-6-107",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
736 737 738 739 740 741 742 743 744 745
                  }
                },
                {
                  "应用包": {
                    "keywords": [],
                    "children": [
                      {
                        "使用应用工厂函数": {
                          "keywords": [],
                          "children": [],
L
luxin 已提交
746 747 748
                          "node_id": "python-7-31",
                          "keywords_must": [],
                          "keywords_forbid": []
F
feilong 已提交
749 750 751 752 753 754
                        }
                      },
                      {
                        "在蓝本中实现应用功能": {
                          "keywords": [],
                          "children": [],
L
luxin 已提交
755 756 757
                          "node_id": "python-7-32",
                          "keywords_must": [],
                          "keywords_forbid": []
F
feilong 已提交
758 759 760
                        }
                      }
                    ],
L
luxin 已提交
761 762 763
                    "node_id": "python-6-108",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
764 765 766 767 768 769
                  }
                },
                {
                  "应用脚本": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
770 771 772
                    "node_id": "python-6-109",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
773 774 775 776 777 778
                  }
                },
                {
                  "需求文件": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
779 780 781
                    "node_id": "python-6-110",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
782 783 784 785 786 787 788 789 790 791
                  }
                },
                {
                  "单元测试": {
                    "keywords": [],
                    "children": [
                      {
                        "blog应用的代码审查": {
                          "keywords": [],
                          "children": [],
L
luxin 已提交
792 793 794
                          "node_id": "python-7-33",
                          "keywords_must": [],
                          "keywords_forbid": []
F
feilong 已提交
795 796 797
                        }
                      }
                    ],
L
luxin 已提交
798 799 800
                    "node_id": "python-6-111",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
801 802 803 804 805 806
                  }
                },
                {
                  "创建数据库": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
807 808 809
                    "node_id": "python-6-112",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
810 811 812 813 814 815
                  }
                },
                {
                  "运行应用": {
                    "keywords": [],
                    "children": [],
L
luxin 已提交
816 817 818
                    "node_id": "python-6-113",
                    "keywords_must": [],
                    "keywords_forbid": []
F
feilong 已提交
819 820 821
                  }
                }
              ],
L
luxin 已提交
822 823 824
              "node_id": "python-5-473",
              "keywords_must": [],
              "keywords_forbid": []
F
feilong 已提交
825 826 827
            }
          }
        ],
L
luxin 已提交
828 829 830
        "node_id": "python-4-825",
        "keywords_must": [],
        "keywords_forbid": []
F
feilong 已提交
831 832 833 834 835 836
      }
    },
    {
      "Flask安装配置": {
        "keywords": [],
        "children": [],
L
luxin 已提交
837 838 839
        "node_id": "python-4-826",
        "keywords_must": [],
        "keywords_forbid": []
F
feilong 已提交
840 841 842 843 844 845
      }
    },
    {
      "Flask实现HTTP请求与响应": {
        "keywords": [],
        "children": [],
L
luxin 已提交
846 847 848
        "node_id": "python-4-827",
        "keywords_must": [],
        "keywords_forbid": []
F
feilong 已提交
849 850 851 852 853 854
      }
    },
    {
      "Flask cookie与session": {
        "keywords": [],
        "children": [],
L
luxin 已提交
855 856 857
        "node_id": "python-4-828",
        "keywords_must": [],
        "keywords_forbid": []
F
feilong 已提交
858 859 860 861 862 863
      }
    },
    {
      "Flask模板": {
        "keywords": [],
        "children": [],
L
luxin 已提交
864 865 866
        "node_id": "python-4-829",
        "keywords_must": [],
        "keywords_forbid": []
F
feilong 已提交
867 868 869 870 871 872
      }
    },
    {
      "Flask提交表单": {
        "keywords": [],
        "children": [],
L
luxin 已提交
873 874 875
        "node_id": "python-4-830",
        "keywords_must": [],
        "keywords_forbid": []
F
feilong 已提交
876 877 878 879 880 881
      }
    },
    {
      "Flask数据库操作": {
        "keywords": [],
        "children": [],
L
luxin 已提交
882 883 884
        "node_id": "python-4-831",
        "keywords_must": [],
        "keywords_forbid": []
F
feilong 已提交
885 886 887 888 889 890
      }
    },
    {
      "Bootstrap-Flask": {
        "keywords": [],
        "children": [],
L
luxin 已提交
891 892 893
        "node_id": "python-4-832",
        "keywords_must": [],
        "keywords_forbid": []
F
feilong 已提交
894 895 896 897 898 899
      }
    },
    {
      "Flask开发REST Web服务": {
        "keywords": [],
        "children": [],
L
luxin 已提交
900 901 902
        "node_id": "python-4-833",
        "keywords_must": [],
        "keywords_forbid": []
F
feilong 已提交
903 904 905 906 907 908
      }
    },
    {
      "部署日志与安全": {
        "keywords": [],
        "children": [],
L
luxin 已提交
909 910 911
        "node_id": "python-4-834",
        "keywords_must": [],
        "keywords_forbid": []
F
feilong 已提交
912 913 914
      }
    }
  ],
L
luxin 已提交
915 916 917 918 919
  "node_id": "python-3-139",
  "keywords_must": [
    "flask"
  ],
  "keywords_forbid": []
F
feilong 已提交
920
}