文章目录

  • 1 预览
  • 2 步骤详解
  • 3 代码

1 预览


2 步骤详解

创建一个文件夹

django-admin startproject myweb

使用该命令创建一个项目。

cd myweb
python3 manage.py runserver

运行在服务器。

python manage.py startapp myapp

使用上面的命令创建一个模块。

code.

打开vscode 也可以直接使用pycharm打开。

pythone manage.py migrate

使用该命令消除404异常(与数据库相关)。
在myapp目录下穿件一个templates文件夹存放前端文件,具体含义和方法可以看该专栏其他文章!

3 代码

配置app


本文不涉及到数据库内容。
配置urls.py

from django.contrib import admin
from django.urls import path,includeurlpatterns = [path('admin/', admin.site.urls),path('', include('myapp.urls')),]

在app文件夹下创建urls.py 输入下面内容

from django.urls import path
from . import viewsurlpatterns = [path('',views.home,name="home"),path('base',views.home,name="base"),path('user/',views.user,name="user"),#标准
]

在views.py中解析api接口中的数据,来源于github。

from django.shortcuts import render# Create your views here.def home(request):import requestsimport jsonapi_request=requests.get("https://api.github.com/users?since=0")api=json.loads(api_request.content)return render(request,'home.html',{"api":api})def base(request):return render(request,'base.html',{})def user(request):if request.method=="POST":import requestsimport jsonuser=request.POST['user']user_request=requests.get("https://api.github.com/users/"+user)username=json.loads(user_request.content)return render(request,'user.html',{'username':username})else:notfound="请在搜索框中输入您需要查询的用户"return render(request,'user.html',{'notfound':notfound})

base.html

<!doctype html>
<html lang="zh-CN"><head><!-- 必须的 meta 标签 --><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><!-- Bootstrap 的 CSS 文件 --><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css" integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin="anonymous"><title>Hello, world!</title></head><body><nav class="navbar navbar-expand-lg navbar-dark bg-dark"><a class="navbar-brand" href="{% url 'home' %}">Django demo</a><button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button><div class="collapse navbar-collapse" id="navbarSupportedContent"><ul class="navbar-nav mr-auto"><li class="nav-item"><a class="nav-link" href="{% url 'user' %}">查询</a></li></ul><form class="form-inline my-2 my-lg-0" method="POST" action="{% url 'user' %}">{% csrf_token %}<input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search" name="user"><button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button></form></div></nav><br/><div class="container">{% block content %}
{% endblock %}
</div><!-- JavaScript 文件是可选的。从以下两种建议中选择一个即可! --><!-- 选项 1:jQuery 和 Bootstrap 集成包(集成了 Popper) --><script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script><script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-LCPyFKQyML7mqtS+4XytolfqyqSlcbB3bvDuH9vX2sdQMxRonb/M3b9EmhCNNNrV" crossorigin="anonymous"></script><!-- 选项 2:Popper 和 Bootstrap 的 JS 插件各自独立 --><!--<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script><script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script><script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.min.js" integrity="sha384-gRC4eoaRyQ8xv2X6Mnf+eOIrtON3wId3dAkwO0HQX26OrFBoLpjX/XWOJacSiZhL" crossorigin="anonymous"></script>--></body>
</html>

{% url 'user' %}表示请求的界面,user对应views中的name。

home.html

{% extends 'base.html' %}
{% block content %}<div class="jumbotron"><h1 class="display-4">Hello, world!</h1><p class="lead">This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.</p><hr class="my-4"><p>It uses utility classes for typography and spacing to space content out within the larger container.</p><a class="btn btn-primary btn-lg" href="#" role="button">Learn more</a></div>
<div class="container"><div class="row">{% for x in api %}<div class="col-sm"><div class="card" style="width: 18rem;"><img src="{{x.avatar_url}}" class="card-img-top" alt="Card image cap"><div class="card-body"><h5 class="card-title">{{x.login}}</h5><p class="card-text">{{x.login}}的Github</p><a href="{{x.html_url}}" class="btn btn-primary">访问</a></div></div></br></div>{% endfor %}</div>
</div>
<ul></ul>{% endblock %}

user.html

{% extends 'base.html' %}
{% block content %}{% if notfound %}
<h2>{{notfound}}</h2>
{% else %}
<div class="card" style="width: 18rem;"><img src="{{username.avatar_url}}" class="card-img-top" alt="Card image cap"><div class="card-body"><h5 class="card-title">{{username.name}}</h5><p class="card-text">Location:{{username.location}}</p><a href="{{username.html_url}}" class="btn btn-primary">访问</a></div></div>
{% endif %}{% endblock %}

【django轻量级框架】一个Github用户检索信息网站(解析和代码)相关推荐

  1. django 跳转其他网站_Django 实战 | 搭一个 GitHub 用户展示网站 04

    一.搜索页面跳转 在 urls.py 中添加一个 user 路径: from django.urls import path from . import viewsurlpatterns = [pat ...

  2. uniapp开发获取用户位置信息功能解析

    uniapp开发获取用户位置信息功能解析 问题描述 uniapp相关接口 1.uni.authorize 提前向用户发起授权请求. 接口描述及demo演示 2.uni.getLocation 获取当前 ...

  3. Django项目案例之GitHub用户接口展示

    项目最终展示 可以在搜素框中输入你想搜的用户名进行搜索:也可以直接点击访问进行页面跳转: 下面记录一下该项目的学习过程: Pycharm下创建Django项目,项目名称为mysite 首先在Termi ...

  4. python 客户端 如何获取手机_Python学习---Django的request扩展[获取用户设备信息]

    关于Django的request扩展[获取用户设备信息] settings.py INSTALLED_APPS = [ ... 'app01', # 注册app ] STATICFILES_DIRS ...

  5. Python学习---Django的request扩展[获取用户设备信息]

    关于Django的request扩展[获取用户设备信息] settings.py INSTALLED_APPS = [...'app01', # 注册app ] STATICFILES_DIRS = ...

  6. 【django轻量级框架】用Mysql的各种项目响应速度慢?一招解决!

    文章目录 1 MySQL禁止反向解析客户端IP 2 原理 1 MySQL禁止反向解析客户端IP 找到这个文件增加一行skip-name-resolve参数. 2 原理 安装mysql后,默认反向解析是 ...

  7. 如何利用GitHub设计一个炫酷的个人网站(含代码)

    1.在开始制作之前我们先预览一下我的网站吧! 1.方式一: 由于是手机版的所以用手机访问下面的链接体验比较好一点: https://tom-shushu.github.io/MyWeb.github. ...

  8. 【django轻量级框架】(Python3.6.8+Django2.0)第一个Django项目与基础环境搭建

    一.前言 Django 是一个开放源代码的 Web 应用框架,由 Python 写成.采用了 MTV 的框架模式,即模型 M,模板 T 和视图 V.当然,网上也有人说 Django 采用了 MVC 的 ...

  9. 【django轻量级框架】View与Model交互(模块的交互关系)

    文章目录 1 总体结构 2 各个模块的交互关系 3 Model 4 View 5 ORM语句 1 总体结构 Django是MTV结构,即:Model, Template, View Model:定义数 ...

最新文章

  1. oracle执行脚本顺序执行吗,【ORACLE】记录通过执行Oracle的执行计划查询SQL脚本中的效率问题 - 不及格的飞鱼...
  2. 机器人出魔切还是三相_英雄联盟:辅助也要去上单,机器人布里茨玩法介绍
  3. HttpClient通过Post方式发送Json数据
  4. Android 系统(61)---LCD 屏幕分辨率
  5. 专用集装箱行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  6. H265/HEVC Codec编解码(MP4和TS)
  7. c# timer 销毁_C# System.Timers.Timer定时器的使用和定时自动清理内存应用
  8. 第六章:Reminders实验:第二部分[Learn Android Studio 汉化教程]
  9. android商品上架功能实现,Android仿京东、天猫app的商品详情页的布局架构, 以及功能实现...
  10. 仿写携程旅游手机浏览器页面
  11. 网络存储技术Windows server 2012 (项目二十二 远程异地灾备中心的部署)
  12. 服务器云共享文件夹权限设置方法,服务器云共享文件夹权限设置方法
  13. 开源高星精选,10个2022企业级Python测试项目,再不学习今年就没了
  14. 阿里云国际版账户收到账号风险通知,怎么办?
  15. 基于Python的算术编码的设计与实现
  16. 支持向量机SVM--sklearn.svm.SVC【机器学习笔记简摘】
  17. 程序员能干到50岁?
  18. Flink中迟到数据的处理
  19. 机器语言、汇编语言、高级语言特点和区别
  20. 计算机专业指南 专 平时作业,《计算机专业指南》课程作业要求

热门文章

  1. TensorBoard logging requires TensorBoard version 1.15 or above
  2. python pycocotools安装
  3. caffe-cuda测试
  4. java单例模式-有用的模式
  5. C++环境测试CPU是否支持MMX,SSE-未完
  6. Windows/Linux高精度计时器(C++)
  7. 利用swapoff和swapon刷新swap缓存
  8. php循环遍历数组保存数据库,php数组循环遍历 - 与狼共舞红队的个人空间 - OSCHINA - 中文开源技术交流社区...
  9. 全年营业额怎么计算_会计税法计算公式大全
  10. html读取文本框变量,Html和文本框元件上变量