python3 web框架之Django

安装Django 2.0+

win

安装python(废话)

配置好python环境变后命令行输入(当然如果没有安装pip还要安装pip):

pip install django 

linux

一般linux,python2/python3共存,我们用python3

pip3 install django 

安装完成后我们来创建第一个项目HelloWorld,命令行输入:

django-admin startproject HelloWorld

一个网站可能有很多的子模块子网站,我们为每个模块创建一个app 来划分每个模块的功能和它的业务逻辑,下面我们创建第一个app。先进入我们刚刚创建HelloWorld项目目录下,我是在桌面创建的项目所以:

cd Desktop\HelloWorld

然后创建app:

python manage.py startapp firstapp

这个时候我们的目录结构是这个样子的

|-- HelloWorld
|   | -- templates
|   | -- firstapp
|   |   |--migrations
|   |   |   |--__init__.py          
|   |   |--__init__.py
|   |   |--admin.py
|   |   |--apps.py
|   |   |--modles.py
|   |   |--tests.py
|   |   |--views.py
|   | -- HelloWorld
|   |   |-- __init__.py
|   |   |-- settings.py
|   |   |-- urls.py
|   |   |-- wsgi.py
|   | -- manage.py

那么下面我们先实现一个 HelloWorld 吧。

首先在模板文件夹templates中新建模板index.html,

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1> Hello World ! </h1>
</body>
</html>

接着我们需要在views.py写一个函数来读取模板文件并返还给用户。按上篇文章的方法应该是这样的:

def handle_index():
    f=open('View/index.html',mode='rb')
    data = f.read()   
    f.close()
    return [data,]

但是现在我们不需要写代码去读取这个模板,Django已经帮我们封装好了这个功能,我们只需要调用这个函数就可以了

views.py

from django.shortcuts import render
#这里render就是Django帮我们写好的函数
def logo(request):
    return render(request,'index.html')

但是仅仅这么做的话很明显是不行的,因为Django根本不知道你的模板文件放在哪里,所以我们要告诉Django,我们的模板文件放在哪里。

打开settings.py,找到 INSTALLED_APPS ,在 INSTALLED_APPS 添加我们刚刚创建的app:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'firstapp',#我们刚刚创建的app,不要忘记末尾加上逗号
]

然后在往下找到 TEMPLATES ,TEMPLATES 这里要注意一下 。

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')]
        ,
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

 在 TEMPLATES中:

'DIRS': [os.path.join(BASE_DIR, 'templates')]

表示 模板文件存放在该项目根目录中的 templates 文件夹中。如果你的模板文件放在你其他位置要在这个地方重新设置。比如:你在刚刚创建的的app中新建了一个文件夹叫templates ,你的模板文件放在这个templates 文件夹中,应该这样设置:

'DIRS': [os.path.join(BASE_DIR, 'firstapp/templates')]

最后,我们要让Django知道用户访问哪个url是返回  Hello World ,也就是配置路由。

打开HelloWorld下的urls.py文件:

urls.py

from firstapp import views#导入firstapp中的views
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.logo),#在views中找到我们写好的logo函数
]

 

这样我们的这个项目就算完成了,下面我们来测试一下。

python manage.py runserver

如果python2/3兼容则:

python3 manage.py runserver

这里默认 host = “127.0.0.1”  ,port = 8000,所以在浏览器输入:http://127.0.0.1:8000/ 就可以了

如果要指定其他host 或者port 则:

python manage.py runserver host:host
例如:
python manage.py runserver 127.0.0.1:8001
#这里浏览器输入:http://127.0.0.1:8001/

如果想在服务器上运行则需要先关闭服务器的防火墙,然后这里改为:

python3 manage.py runserver 0.0.0.0:8000 

#一般linux都是同时装有python2、python3的

然后,用服务器的ip代替 127.0.0.1,输入浏览器就可以了。例如你的服务器ip是103.117.139.88,则在浏览器输入http://103.117.139.88:8000   就可以了。

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值