本篇文章不会去讲解一些细枝末节的东西,而是会通过一个小巧而灵活的案例去学习。这次的案例是调用github的api将github上的用户展现在我们页面上,并可以进行搜索查找用户。
- 本篇文章将分两篇展示,第一篇主要说明django的基础和html的展示,第二篇将用django调用github的api展现一个页面。这两篇的代码我都会在github上展示。
1.安装python
- python官网:https://www.python.org
(需要安装3.4以上的版本,安装路径不要有中文,并添加变量环境)
- Anaconda官网:https://www.anaconda.com/
(一个python的发行版,比python好用,自带的库多,有些库比pip更好安装,推荐!)
2.安装pycharm
一款功能强大的 Python 编辑器,具有跨平台性,推荐安装(使用edu邮箱免费课白嫖)
3.安装django
在pycharm中选择新建项目,可以看到有django
选择好路径点create就会自动安装好django并进入虚拟环境。
当然也可以使用pip或conda安装
先创建虚拟环境在执行
pip install django
或者conda install django
4.创建django项目
首先进入虚拟环境,在项目文件夹下
输入
django-admin startproject mysite
就会创建一个名为mysite的文件夹
输入:
cd mysite
python manage.py runserver
就可以运行我们的django了
这里可能会有一个错误,我们输入
python manage.py migrate
即可解决
5.配置路由urls
- 首先在虚拟环境下在mysite目录下,创建一个app,这里我的名字就叫yuaneuro
python manage.py startapp yuaneuro
这里我们创建的这个项目和mysite是同级的,mysite是一个主项目,现在创建的项目是用来展示的。
首先我们要在主文件项目的settings.py
里关联我们新创建的项目
- 然后在
mysite/urls.py
里在访问根路径时包含(incloud)一个我们创建app里的urls
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('yuaneuro.urls')),
]
- 当我们访问127.0.0.1:8000时,首先会找到
mysite/urls.py
里的urlpatterns
,当发现我们访问的是一个根路径时,就会找yuaneuro/urls.py
里的文件。 - 这样的话我们就可以进行一个模块化的开发,不会将我们的所有项目都写到主文件里。我们要把我们要展示的文件放在
yuaneuro
里,这样就不会造成冗余。
6.展示html页面
- 然后我们在
yuaneuro
目录下创建一个urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name="home")
]
- 当然访问根路径时,就会访问我们
yuaneuro/view.py
中的方法,然后给它一个名字home。(注意将该文件夹下的view引入进来)
然后在yuaneuro/view.py
里建立一个home
的方法
from django.shortcuts import render
def home(request):
return render(request, 'home.html', {})
render
是可以帮助我们跳转到对应的页面中。
-
这里我们让它跳转到
home.html
中
第三个参数是想在home.html中传一个什么样的参数,这里我们暂时为空 -
然后在
yuaneuro
目录下创建templates
文件夹,再在templates
里新建一个home.html
,写入hello_world测试 -
然后我们输入127.0.0.1:8000访问我们的页面就可以显示我们
home.html
中的内容。
我们这里再梳理一遍流程
- 首先当我们访问
localhost:8000
时,就会发起一个请求,它会请求到我们的mysite/urls.py
里。 - 在
mysite/urls.py
里会发现你请求的其实就是根路径,它时要跳转到另一个的app里,用incloud调转(包含)到yuaneuro/urls.py
- 在
yuaneuro/urls.py
里又会发现我们的请求是根路径,就会调用view.py
里的home
方法 - 在
yuaneuro/views.py
里创建一个home方法,得到这个request的请求方法,然后使用render将templates/home.html
展示到请求的页面来