1.搜索页面跳转在urls.py中添加一个用户路径:fromdjango.urlsimportpathfrom。importviewsurlpatterns=[path('',views.home,name="home"),path('user/',views.user,name="user"),]在views.py中添加一个user方法:defuser(请求):返回render(request,'user.html',{})并在模板中创建user.html:{%extends'base.html'%}{%blockcontent%}
HelloUser!
{%endblock%}然后启动Django服务,访问http://127.0.0.1:8000/user/是看到如下页面:修改base.html中如下代码:
然后在搜索框中搜索一个用户名,发现:因此,需要设置CSRF,添加一个上面一行代码下面的一行代码:{%csrf_token%}修改views.py中的user方法:defuser(request):user=request.POST['user']returnrender(request,'user.html',{'user':user})然后修改base.html中之前写的csrf下面的input行如下:在user.html中修改:{%extends'base.html'%}{%blockcontent%}你好{{user}}!
{%endblock%}在页面的搜索框中输入用户名,可以看到如下页面:2.获取搜索数据,修改部分base.html代码:Wonz查询在视图中。py中修改用户方法:defuser(request):ifrequest.method=='POST':user=request.POST['user']user_request=requests.get("https://api.github.com/users/"+user)username=json.loads(user_request.content)returnrender(request,'user.html',{'user':user,'username':username})else:notfound="请进入搜索框输入你需要查询的用户..."returnrender(request,'user.html',{'notfound':notfound})修改user.html中的代码:{%extends'base.html'%}{%阻止内容%}{%ifnotfound%}{{notfound}}
{%else%}{{username}}
{%endif%}{%endblock%}onpage在搜索框中输入用户名,可以看到如下页面,说明已经获取到用户信息:3.显示所有数据修改user.html代码,以卡片格式显示:{%extends'base.html'%}{%block内容%}{%ifnotfound%}{{notfound}}
{%else%}{{username.name}}位置:{{username.location}}public_repos:{{username.public_repos}}public_gists:{{username.public_gists}}followers:{{username.followers}}关注:{{username.following}}created_at:{{username.created_at}}updated_at:{{username.updated_at}}