title:Django安装与调试
data: 2020/1/30
把Django基础看完,写一个博客项目熟悉一下,还有许多未理解的知识点,通过此项目希望可以弄清楚薄弱之处,并熟悉开发流程。
项目主要参考:https://github.com/qiwsir/DjangoPracticeProject.git
使用pip install django
命令安装django
在要存放工程的文件夹中打开终端输入django-admin startproject 'project_name'
命令创建一个django工程,其中’project_name’是你所创建的工程名称。
如果使用pycharme专业版,可以直接新建一个django工程。
当我们新建一个django项目之后,会发现文件夹中生成了以下文件,在pycharme中如图所示。
其中 myblog 为我的项目名,这些文件先不用了解,先看其中的 settings.py 这个文件,正如名字所示,这是整个工程的配置文件,我们需要先对这个文件做一些配置以使我们以后更方便开发工程。
这需要了解一下MVC模式,所谓MVC,即数据存取层(Model),业务逻辑(View)和表现逻辑(Controller)组合,这里不用详细了解,在Django中,Controller由框架自动处理,Django模型就转变为MTV模式,即模型(Model),模板(Template)和视图(View),这里我简单的理解为模型及数据库和数据操作的部分,模板为展现的内容以及如何展示,视图层是模型和模板之间的桥梁,根据URL调用视图,而视图调用和处理有关数据。视图确定访问者可以看到哪些数据,模型确定访问者如何看到这些数据。
'DIRS': [os.path.join(BASE_DIR,'templates')],
'APP_DIRS': True,
改为'APP_DIRS': False,
静态资源,即css文件,js文件和图片等,为了方便开发,也需要将静态资源放在同一位置,修改配置文件,
找到 STATIC_URL='/static/'
部分,在后面添加STATIC_DIRS=(os.path.join(BASE_DIR,"static"))
同样在项目根目录下新建一个static文件,里面存放所有静态资源,项目在寻找静态资源时到这里寻找。
修改后如图所示
此时项目目录如下
本测试用例实现访问 127.0.0.1:8000/blog/index/访问以下页面
1.新建一个app
Django中app,就是把一组相似的功能组合到一起,例如博客中文章编写,修改,查阅等功能就可以是写在一个app中。这里不用深究。
在终端中输入python manage.py startapp 'app_name'
创建app,其中app_name为创建的app名称
每当新建一个app时,我们都需要在配置文件中注册该app,配置文件编辑如下
在文件夹中生成了一个新文件,该文件目录如图所示。
这次我们只需使用views.py文件。
views.py用于编写用于响应各种请求的函数或类,所有响应函数都含有参数request。注意输入以下代码,
from django.shortcuts import render
# Create your views here.
def index(request):
return render(request,'index.html')
render()为渲染函数,该函数将渲染index.html模板,
接着配置URL
首先编写myblog文件夹中的urls.py(和settings.py在同一文件夹中),找到urlpatterns部分,加入以下代码:path('blog/',include('blog.urls',namespace='blog'))
别忘在文件头部引入 include
通过此配置,在用户输入http://localhost:8000/blog/
时,可以转向blog应用的urls.py。
全部代码如下:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('blog/',include('blog.urls',namespace='blog'))
]
配置blog中URL,blog中没有urls.py文件,需要创建,在新建立的urls.py文件编写以下代码。
from django.urls import path
from .import views
app_name = 'blog'
urlpatterns = [
path('index/', views.index),
]
当输入http://localhost:8000/blog/index/
时,views.py中的index函数会响应并渲染模板
最后在templates中新建HTML文件,编写要渲染的模板。
<html lang="en">
<head>
<meta charset="UTF-8">
<title>the first blogtitle>
head>
<body>
测试成功
body>
html>
在终端中输入python manage.py runserver
运行我们的项目,在浏览器中输入http://localhost:8000/blog/index/
可以显示测试的页面。