当前位置:
首页 > 博客 > 【django2.0学习笔记】01.创建项目,输出第一个网页

【django2.0学习笔记】01.创建项目,输出第一个网页

写在项目之前,这个系列是学习django的笔记,主要缕清django建站的整个思路,方便以后查看。

环境:python3+django2+win

命令需要在CMD命令行下操作,win进入命令行win键+R,输入cmd。

开发工具:PyCharm

话不多说,开始。

1.创建一个项目,名称为mysite。

django-admin startproject mysite

执行完命令,自动创建这些文件

【django2.0学习笔记】01.创建项目,输出第一个网页 - 优美设

2.创建一个APP,进入刚刚创建的mysite目录,创建app,名称为firstapp。

python manage.py startapp firstapp

执行完命令,又多了一个firstapp目录

【django2.0学习笔记】01.创建项目,输出第一个网页 - 优美设

3.设置settings.py,添加刚刚创建的app

【django2.0学习笔记】01.创建项目,输出第一个网页 - 优美设

4.创建数据库,执行

python manage.py migrate

目录多了一个数据库文件

【django2.0学习笔记】01.创建项目,输出第一个网页 - 优美设

5.开启网站服务,执行

python manage.py runserver
执行此服务的窗口不能关闭,如果要执行其他命令,需另开启一个命令行窗口。

6.去浏览器看看,默认的网址是http://127.0.0.1:8000/

【django2.0学习笔记】01.创建项目,输出第一个网页 - 优美设

看到这个,说明我们的项目已经创建成功,接下来开始制作我们第一个网页。

7.进入models.py,创建数据库的表

class People(models.Model):
    name = models.CharField(max_length=50)

表名相当于People,表头只有一个字段name,字符特征也只有一个,max_length=50最大50个字符。这里还可以设置其他字符类型和特征,以后慢慢理解。

8.创建完表,还要把这个表添加到django的数据库中,执行命令

创建策略

python manage.py makemigrations

添加到数据库

python manage.py migrate

9.进入views.py,创建视图,引入模块,渲染,返回网页,具体可以看代码注解

from django.shortcuts import render, HttpResponse
from firstapp.models import People #引入刚建立的模块
from django.template import Context, Template

# Create your views here.
def first_web(request):
    person = People(name = 'Uimeis') #创建数据
    html = '''
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>第一个网页</title>
    </head>
    
    <body>
    <h1>
    Hello,{{ person.name }}
    </h1>
    </body>
    </html>
    '''
    t = Template(html) #把网页文件放入模板中
    c = Context({'person':person}) #装载数据
    web_page = t.render(c) #渲染
    return HttpResponse(web_page) #返回网页

10.进入urls.py,添加一个可以访问的url。

from firstapp.views import first_web #引入视图文件

urlpatterns = [
    path('admin/', admin.site.urls), 
    path('first_web/', first_web), #新添加的url
]

11.浏览器打开http://127.0.0.1:8000/first_web/,看看效果。

【django2.0学习笔记】01.创建项目,输出第一个网页 - 优美设

虽然网页显示很简单,但这是一个网站呈现的雏形,创建了数据,调用了数据等。

 

(。・`ω´・)美工(每天爱工作)