Linux---部署Django项目

前言

这几天工作不忙,偷偷的写了一个登录接口,想要部署在服务器上,今天安静就介绍下如何将接口部署在服务器上

Django项目

登录页面

先写一个login.html,用于页面访问

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body>
    <h1>
        <p style="text-align:center" font size="2">欢迎登陆:</p>
    </h1>
    <h1>
        <p style="text-align:center">请输出账号密码:</p>
    </h1>
    <form action="" method="POST">
        {% csrf_token %}
        <p style="text-align:center">用户:<input type="text" name="username" /><br />
        </p>
        <p style="text-align:center">密码:<input type="password" name="password" /><br />
        <input type="submit" value="登录" />

    </form>
</body>
</html>

在views.py文件中写上对应的login登录逻辑,这里没有连接数据库,直接把用户名和密码写死了

from django.shortcuts import render
from django.http import HttpResponse,JsonResponse
from django.shortcuts import render, redirect
import json
data = {'anjing': '1234', 'an': '1111', 'test': 'test'}

def login(request):
    if request.method == "GET":
        return render(request, 'login.html')
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')
        # 判断账号密码
        if username in data and data[username] == password:
            # return HttpResponse('登陆成功')
            result = {"code": 200,
                      "msg": "success!",
                      "data": {"username": username,
                               "password": password,
                               }
                      }
            return JsonResponse(result)
        else:
            result = {"code": 400,
                      "msg": "False!",
                      "data": '用户名密码错误!'
                      }

            return HttpResponse(json.dumps(result, ensure_ascii=False), content_type='application/json')

最后在urls.py上进行写上对应的路径

from django.contrib import admin
from django.urls import path
from anjing import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('login/', views.login),
]

本地部署

代码写好了,我们直接运行,通过链接进入,随便输入账号名和密码,点击登录,发现请求成功了。

linux部署

1、先将对应的代码放到Linux上,随便找个路径进行存放

2、存放完成后,直接执行  python3 manage.py runserver 进行启动服务器上的Django项目

[root@anjing Djtest]# python3 manage.py  runserver
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
July 19, 2022 - 03:23:28
Django version 3.2.14, using settings 'Djtest.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

3、通过上述启动后,发现无法进行访问,因为我们是在服务器本地进行启动的,想要外网访问,我们需要在启动的过程中,设定0.0.0.0的ip地址进行启动

[root@anjing Djtest]# python3 manage.py runserver 0.0.0.0:8000
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
July 19, 2022 - 03:26:53
Django version 3.2.14, using settings 'Djtest.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.

注意:这里需要将我们8000的端口添加到服务器的安全组中,然后输入服务器的ip地址:8000,访问试试

这里提示的意思是,我们没有把Django设置文件中的调试模式关闭,进入到项目文件中,找到setting.py文件下的DEBUG 和 ALLOWED_HOSTS 

关闭debug调试功能,和在ALLOWED_HOSTS 上加入全部。

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False

ALLOWED_HOSTS = ['*']

修改完成后,重新启动Django服务后,再次在浏览器上对应地址,就可以进入了

这个时候我们就成功的将我们的Django的项目成功的部署在linux上面了。

总结

这里只是将Django的项目成功的转移到服务器上,没有新增其他内容,无非就是对linux和Django的理解,后续安静通过介绍其他方法来部署我们的Django项目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值