打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
用 Python 在安卓手机上构建 Web 应用程序

 昨天

嘿,你好吗?我今年 18 岁,是一名后端开发者,我希望成为机器学习工程师。在本文中,我会介绍如何使用 Python 在手机上构建 Web 应用程序。开始吧!

必要条件

要满足的第一个条件是拥有一台 Android 手机,至少是 6.0 或更高版本。这就是所需要全部,很简单。

接下来,需要在手机上安装一个名为 pydroid3 的移动应用程序。

如你所见,pydroid3 是一个可在手机上编写 Python 的移动应用程序。

接下来需要安装 Django。如果你不熟悉 Django,请查看此处的 Django 文档

要安装 Django,在 pydroid3 中打开侧边栏,然后选择 Terminal:

然后单击它,如下:

完成后,输入以下命令:

pip install django

应该得到以下内容。我的是 “requirements satisfied” 消息,因为我已经安装了它。

它已成功安装,让我们确认一下。在终端中输入 django-admin,然后按回车键。

信息如下:

这意味着它实际上已经安装好了。

如何构建项目

让我们开始构建项目。打开终端并输入以下命令:

django-admin startproject myapp

这会在根文件夹中创建一个名为 myapp 的 Django 应用程序。

通过输入 cd myapp 进入目录,然后输入 python manage.py runserver。信息如下:

现在服务器已启动。接下来,要在浏览器中对其进行测试,请访问 127.0.0.1:8000。

Boom!你应该看到 Django 已成功安装。

我们需要做的下一件事是创建 Django 应用。在 Django 中,项目文件夹就是根目录,而应用程序充当应用程序本身。

要创建 Django 应用,请确保仍在目录中,然后输入 python manage.py startapp todo,这样会在 myapp 项目中创建一个 To-do 应用程序,如下所示:

然后在 todo 文件夹中,我们应该看到类似以下内容:

当我们开始使用它们时,我们将进一步介绍这些文件。

怎样配置应用

现在,让该应用程序可以由 Django 项目提供服务。首先,在 myapp 文件夹中打开 settings.py 文件,然后将 'todo' 添加到已安装的应用中,如下所示:

接下来,我们需要打开 urls.py,并将以下内容添加到代码中:

from django.urls import path, include

path('', include('todo.urls'))

实际发生的是,在 django.urls 中添加 include。在路径(admin)下方,创建了一个空路径,该路径指向包括 todo 应用程序目录中的 urls.py 文件。我希望讲清楚了。

接下来,在 todo 文件目录中创建一个名为 urls.py 的新文件,并在其中添加以下代码:

from django.urls import path
from . import views

urlpatterns = [
 path('', views.index, name='home')
 ]

我们从 django.urls 导入了 path,还从根目录中导入了 views。然后,我们以第一部分为根链接创建了urlpatterns。如你所见,views.index 只是意味着我们将这些视图指向 views.py文件中的 index 函数。稍后我们会看到它如何工作。

打开 todo 下的 views.py 文件并添加一些代码。

在顶部,像这样导入HttpResponse

from django.http import HttpResponse

并将其添加到它下面:

def index(request):
 return HttpResponse('Hello')

如你所见,我们创建了在 urls.py 中调用的索引函数,并将一个请求参数传递给了它。然后我们返回一个 HttpResponse

但是之前,需要用 django.http import HttpResponse 导入它——就像ABC一样简单。让我们尝试一下:打开终端并进入 myapp,然后输入 python manage.py runserver 进行测试。

如你所见,它返回了响应。接下来我们将加载模板 HTML 文件。

加载 HTML 文件前,需要按以下顺序在 todo 目录中创建一个这样的文件夹:

todo/templates/todo

在 todo 目录中,创建一个名为 templates 的文件夹。在该文件夹内,创建一个名为 todo 的文件夹,就这么简单。

然后继续创建一个简单的 HTML 文件 index.html,并写入:

<h1>Hello world</h1>

在 views.py 中添加如下代码加载 HTML:

def index(request):
 return render(request, 'todo/index.html')

现在,我们没有返回响应,而是返回了一个渲染视图,该视图可以渲染 HTML 模板,保存后打开终端 cd 进入到 myapp 中并运行它。浏览器访问显示如下。

如何设置静态文件

现在要设置静态文件,在 todo 目录中创建一个新文件夹并将其命名为 static。在该文件夹内,创建一个文件夹并将其命名为 todo。

所以应该是这样的:/static/todo/

在 todo 目录中,创建一个文件,并将其命名为 main.css,在其中编写一些样式,并保存它。

body {
background-color: red;
}

现在,通过编写以下代码来重新\编辑我们的 index.html 文件:

{% load static %}
<!Doctype html>
<html>
<head>
<title>My page</title>
<link rel="stylesheet" href="{% static 'todo/main.css' %}" >
</head>
<body>
Hello
</body>
</html>

现在运行它:

如果一直按步骤操作,那么应该得到预期结果。

如何加载模型和管理面板

现在加载管理面板,先创建一个超级用户。这很简单——只需打开终端,并 cd 到 myapp 文件夹中,然后键入 python manage.py createsuperuser 并按 Enter 键即可。显示内容如下:

收到一个错误消息,因为还没有运行 python manage.py migrate。键入该内容并按回车键,显示如下:

现在输入 python manage.py createsuperuser,然后按 Enter:

只需填写凭据即可。接下来运行服务并访问 127.0.0.1:8000/admin。

登录后,将被定向到仪表板:

现在已经搞定了管理面板,接下来来使用模型(数据库)。我们将创建一个收集内容的模型。打开 models.py 文件,并输入以下代码:

class Post(models.Model):
 content = models.CharField(max_length=255, null=False)

    def __str__(self):
     return self.content

我们创建一个具有参数 models.Model 的类,并定义了一个变量 content,该变量包含一个 CharField(),更像是一个文本字段。最后,我们创建了一个神奇的 str,它返回模型的名称而不是对象。

接下来需要运行 migration。打开终端,进入 myapp,然后输入python manage.py makemigrations。应该会看到以下内容:

这意味着它已经在数据库中创建了 Post 表。运行 python manage.py migrate,结果如下:

一切都清楚了。现在将其添加到管理页面,打开 admin.py 并输入以下代码:

from .models import *

admin.site.register(Post)

我们从模型中导入了所有模型类,并在管理面板中注册了 Post 模型。现在,如果我们打开管理面板,应该看到 post,可以保存一些数据。

请注意,它现在位于 todo 应用程序列表中:

单击它之后,你应该看到以下内容:

然后,可以根据需要创建 post。

如何从数据库渲染数据到视图

最后,我们将从数据库中获取数据。为此,我们需要按如下更新 views.py

from .models import *

def index(request):
 content = Post.objects.all()
    context = {'content': content}
    return render(request, 'todo/index.html', context)

就这么简单:我们从 models.py 中导入所有内容,创建一个名为 content 的变量,然后从表 Post 中检索所有数据。然后,我们将其作为字典传递给视图。因此,只需在 index.html 中使其生效即可,添加以下内容:

{% for contents in content %}
{{content.content}}
{% endfor %}

在这里,我们使用 template 标记编写了一个循环,并获取了所有数据内容。现在,打开你的终端,进入 myapp,然后运行服务器,见证奇迹的时刻:

它可以工作,但是让我们双重检查一下:

结果应为以下内容:

Violà!效果很好。最后,你可以添加一个换行符,这样你可以更清晰地阅读它。我们完成了!

感谢阅读本文!


原文链接:https://www.freecodecamp.org/news/how-to-code-on-your-phone-python-pydroid-android-app-tutorial/
作者:Precious Oladele
译者:ZhichengChen
在线译者交流会预告
在线译者交流会将于北京时间 3 月 20 日周六下午 13:00 - 15:00 开展(每周都在这个时间开展)。
欢迎所有感兴趣参与 freeCodeCamp 社区翻译协作的伙伴参与交流会。添加小助手微信 fcczhongguo,加入会议室。
非营利组织 freeCodeCamp.org 自 2014 年成立以来,以“帮助人们免费学习编程”为使命,创建了大量免费的编程教程,包括交互式课程、视频课程、文章等。我们正在帮助全球数百万人学习编程,希望让世界上每个人都有机会获得免费的优质的编程教育资源,成为开发者或者运用编程去解决问题。
不看的原因确定内容质量低不看此公众号
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
这是我见过的Django最佳入门教程,python老教授精简的小案例!
Python Web项目(Python+Django)
还在学Django! FastAPI Web 框架教程来了!
用Django快速搭建一个网站(14)
2021年python库大全
Python库资源大全
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服