Python 后端Django Web 框架的使用:
在上一篇博客中介绍到Python 的Scrapy 框架的使用,主要用于数据的爬取以及存储。
在这一篇中主要是使用Python 的Django 框架来构建Web 后端,然后提供api 接口,将之前从数据库中存好的数据,封装成json 格式,然后通过api 传给客户端。话不多说,开始吧!
首先,还是老样子先在PyCharm上安装django 模块 ,
安装模块命令:pip django
安装好之后,新建一个django 项目 输入命令:django-admin startproject HelloDjango,这样就新建好了一个项目:项目结构如下:
然后再新建一个子项目app:输入这行命令:django-admin startapp app ,即可看到上图的app 文件夹:app 文件夹下的结构如下:
可以在该目录下,然后在Terminal 终端下输入命令:python manage.py runserver 127.0.0.1:8080 (端口号可以随意指定一般除了(1-1024)内的) ,配置成功的话,即可看到django 的一个默认页面。说明你python Django 环境已经搭建好了。
注意: 新建好一个模块项目后,需要去settings.py 文件中添加一行代码,表示将你刚刚新建的一个模块项目添加到主项目上,不然运行时会找不到路径:
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
#新增app
'app',
]
接下来可以先配置一些url路径协议规则,统一管理。
在urls.py 中配置一些规则:比如
from django.conf.urls import url,include
from django.contrib import admin
from app import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^login/' , views.login),
url(r'^register/' , views.register),
url(r'^profile/' , views.profile),
url(r'^accounts/', include('users.urls')),
url(r'^$',views.index),
]
'^'代表开始, '/'代表结尾,'$'代表任意字符,如r'^$' 则代表默认首页路径
这里配置了不同url 路径下,跳转不同的页面,其他的则代表跳转到相应的页面。
配置好相应的规则后,就可以在views.py 中去写一些代码来跳转到指定路径了
from django.shortcuts import render
# Create your views here.
from django.shortcuts import render
def index(request):
return render(request , 'Base.html')
def login(request):
return render(request, 'login.html')
def register(request):
return render(request, 'regiseter.html')
def profile(request):
return render(request,'profile.html')
这里就对应了上面urls.py 文件中写的跳转的views 中的方法,render () 函数表示渲染html 网页。
新建一个templates 文件夹,用来存放html 静态页面,然后再新建一个static 文件夹来存放css,js,images 等文件,新建后,还需要给static 文件夹添加路径,需要在settings.py 中配置:可以在settings.py 文件的末尾添加如下代码
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static').replace('\\', '/'),
)
然后还有就是写前端页面时,django 提供了很好的模板语法,可以使用,例如在Base.html 中书写:
{% block title %}
cx羽个人网页
{% endblock %}
这里就用到了django 的模板语法,block title 就是模板块的名称,然后再其他的页面中可以继承Base.html,然后再重写该段,而其他的无需改动,就可以很好的复用这些模板通用的代码了,比如:我在profile.html 文件中这样写,就可以了
{% extends 'Base.html' %}
{% block title %}个人信息修改{% endblock %}
这些都是Django 的一些基础东西,如url协议规则,以及前端模块化的方法,然后运行命令python manage.py runserver 127.0.0.1:8010 截图如下:
这些样式用到了BootStrap.css的框架,这些前端的东西,本人只会简单的用一下,并没有去深入研究,读者有兴趣可以去研究一下。比如 bootstrap.css (css 框架) , Vue.js (响应式js 框架) , JQuery(封装js 的一个很流行的库)等等。这一篇主要是讲Django 基础,然后下一篇则会讲,DJango 连接后台数据库,以及编写RestFul 形式的接口,封装不同的请求响应的json 数据,提供Api给客户端调取使用。