全栈“食”代:用Django+Nuxt实现美食分享网站(一)腾讯云开发者社区

在这个项目中,我们用pipenv[5]来管理Python项目的环境依赖。Pipenv是Python社区偶像级大师KennethReitz牵头开发的开发流程优化工具,立志集所有项目管理工具(Node的npm、Ruby的bundler、PHP的composer等等)的优势为一体。我们通过下面的命令安装pipenv,并创建项目的依赖环境:

$pipinstallpipenv$pipenvshell如果看到命令提示符前面出现(recipes_app-nV3wuGJ1)的提示(后面那串随机字符串可能不一样),就表明我们已经成功地创建了项目独有的虚拟环境!我们接着安装Django“三件套”:

安装命令如下:

(recipes_app-nV3wuGJ1)$pipenvinstalldjangodjango-rest-frameworkdjango-cors-headers这时pipenv便产生了Pipfile文件,它的作用就类似Node项目中的package.json文件:

(recipes_app-nV3wuGJ1)$pythonmanage.pymigrate(recipes_app-nV3wuGJ1)$pythonmanage.pycreatesuperuser按照问题输入信息即可。要记住用户名和密码哦!然后运行开发服务器:

熟悉的界面,但是——没什么东西,而且全是英文!别担心,后面我们会一个个搞定。

接下来我们将实现本项目所需要用的所有API。对,你没有听错,我们会在这一步实现所有后端接口,大概只10分钟左右可以敲完!这就是Django的宣言:

Thewebframeworkforperfectionistswithdeadlines.

首先,在全局配置文件settings.py中做如下改动:

具体代码如下:

我们从第一步开始,完成菜谱Recipe数据模型如下:

第二步,为core子应用配置相应的后台管理功能。非常简单,只需注册定义好的Recipe模型:

fromdjango.contribimportadminfrom.modelsimportRecipe#Registeryourmodelshere.admin.site.register(Recipe)第三步,定义序列化器serializers.py(脚手架并不会自动创建,需要手动创建)。序列化器是DjangoRestFramework提供的功能,能够非常方便地将Django数据模型序列化成相应的JSON数据格式。在这里,我们定义一个RecipeSerializer,并在classMeta中指定对应的数据模型为刚才创建的Recipe,并选择相应的字段展示:

fromrest_frameworkimportviewsetsfrom.serializersimportRecipeSerializerfrom.modelsimportRecipeclassRecipeViewSet(viewsets.ModelViewSet):serializer_class=RecipeSerializerqueryset=Recipe.objects.all()只需指定serializer_class(序列器类)和queryset(模型查询集),就自动定义好了模型的添加、删除、查询和修改!虽然视图集非常强大,但是如果要实现更加灵活的业务逻辑,那么还是要为每个接口定义单独的视图类才行。

注意在Django路由定义中不包括HTTP方法,具体的HTTP方法可以在视图中读取并判断。

最后一步,我们将core子应用中的路由接入全局路由:

(recipes_app-nV3wuGJ1)$pythonmanage.pyrunserver由于DjangoRESTFramework为我们提供了测试API的Web界面,因此这里就不用Postman等工具进行测试了。用浏览器访问localhost:8000/api/recipes[9],就进入了如下所示的API测试页面:

这个页面的下方还有添加数据(发起POST请求)的表单,我们填一些数据,然后点击POST按钮:

然后再次访问食谱列表页面,就有我们刚刚添加的食谱了!此外,你还可以尝试访问单个食谱的详情页面(例如localhost:8000/api/recipes/1[10]),并且可以通过Web页面直接修改或删除哦!

Django的MTV架构固然优秀,但是随着现在的业务逻辑越来越多地向前端倾斜(也就是现在流行的富前端应用),其中的T(Template)需要更强大的武器来解决,这里就是我们的第二位主角Nuxt。

我们将把所有的前端代码放到client目录中,不过无需自己创建,我们调用nuxt的脚手架来创建前端应用:

$npxcreate-nuxt-appclient之后脚手架应用会询问一系列问题,按下面的截图进行选择(当然作者名填自己):

我们对Nuxt脚手架生成的目录结构稍作讲解。可以看到client目录下有以下子目录:

本项目所用到的图片资源请访问我们的GitHub仓库[11],并下载到对应的目录中。

我们在client/pages中创建index.vue文件,并在其中实现我们的前端首页:

模板(Template)+脚本(Script)+样式(Style),经典的Vue.js组件。

我们刚刚创建了pages目录下的index.vue文件,这意味着当访问根路由/时,这个文件将被访问到。通过npmrundev运行我们的前端页面(记得在client子目录下运行!),可以看到:

真是让人食欲大开!

接下来我们将演示如何展示数据,并实现食谱列表页面。

首先,实现将会在多个页面中反复使用的食谱卡片组件RecipeCard如下:

在这个组件中,我们定义了两个props,分别是recipe(代表食谱对象)和onDelete(删除时的回调函数),并在模板中使用这两个成员。

在实现第二个页面之前,我们有必要先了解一下Nuxt的路由功能——通过pages目录下的文档结构,就可以自动生成vue-router的路由器配置!

例如我们这样安排pages下面的目录结构:

pages├──README.md├──index.vue└──recipes├──_id│├──edit.vue│└──index.vue├──add.vue└──index.vue_id目录(或者其他以单下划线开头的目录或.vue文件)被称作是动态路由(DynamicRouting),可以接受参数作为URL的一部分。上面的pages目录自动生成下面的router:

创建食谱列表页面pages/recipes/index.vue(先使用假数据填充),代码如下:

到这儿,我们分别实现了这个全栈食谱网站的前端和后端应用,这篇教程的第一部分也就结束了。在接下来的教程中,我们将实现前后端之间的通信,并进一步实现食谱的详情及添加页面,不见不散!

想要学习更多精彩的实战技术教程?来图雀社区[13]逛逛吧。

[1]

[2]

[3]

[4]

[5]

[6]

[7]

[8]

[9]

localhost:8000/api/recipes:localhost:8000/api/recipes

[10]

localhost:8000/api/recipes/1:localhost:8000/api/recipes/1

THE END
1.食谱大全app哪个好?食谱大全app排行榜食谱大全app下载食谱大全app今天小编给大家带来了一些帮助大家做菜的小能,想做什么菜都可以在这些app中找寻找,涵盖了各样的菜谱,无论是煎炸烹炒样样都有。有的注重减肥,所以对于运动人来说可以选择减肥的食谱大全。还有的专门为儿童设置的健康菜谱大全app,以及有的app针对不同人群而设计,你可以根据自身来找寻合适自己的食谱大全。http://www.downcc.com/k/shipudaquanapp/
2.探索美食新境界,最新精选菜谱分享幼儿园接送系统最新美食菜谱,带你探索美食的新境界。本菜谱汇集了世界各地的经典佳肴,同时融入了创新元素,让你在烹饪的过程中享受创作的乐趣。跟随我们的步骤,轻松掌握烹饪技巧,让你的味蕾尽享各种美味。无论是家常菜还是高级料理,这里都有适合你的美食之旅。快来一起探索美食的新境界吧!摘要字数在100-200字之间。 http://fter.cc/post/18713.html
3.膳食菜谱广州市广外附设外语学校https://www.gwdwx.com/m/info/index.aspx?m=142002
4.食谱图片素材模板下载(图片编号4744475)六图网提供精美好看的素材模板下载,本次作品主题是食谱,编号是4744475,格式是CDR,该食谱素材大小是1.90 MB。食谱是由设计师SM还我男神上传. 浏览本次作品的您可能还对健脾,开胃,黄金食谱,食谱感兴趣。https://m.16pic.com/vector/pic_4744475.html
5.101种美食图像分类数据集所有子文件夹中的图片总数量为 101000 张。 基于深度学习的101种美食图像分类研究 摘要 本研究利用深度学习技术对一个包含101种美食类别的图像数据集进行分类任务研究。数据集中每类图像数量均为1000张,数据总量为101,000张。通过对数据集的预处理、模型选择与优化以及性能评估,研究展示了如何应用现代深度学习模型(如卷https://blog.csdn.net/DL_data_set/article/details/144270260
6.营养食谱专题模板营养食谱图片素材下载我图网营养食谱专题为您整理了74153个原创高质量营养食谱图片素材供您在线下载,PSD/JPG/PNG格式营养食谱模板下载、高清营养食谱图片大全等,下载图片素材就上我图网。https://so.ooopic.com/sousuo/443346/
7.三文鱼咖喱外卖意面披萨炒饭玉米饼自制美食芝士食谱打开网易新闻 查看精彩图片 如果您厌倦了老是点同样的外卖,想尝尝新花样,那就别再寻觅啦。 炸绿咖喱意面 打开网易新闻 查看精彩图片 短短半小时内,把泰式咖喱和意面融合起来,做出一顿美味餐食,特别适合满足您对舒心美食的渴望。 获取食谱 泰式炒河粉 打开网易新闻 查看精彩图片 想尝尝泰式风味不?在家自己动手https://m.163.com/dy/article/JIF476A005568E2R.html
8.www.edmyl.com/aplhtml23759.htm665566影院无码中字 丝蓓绮日本和国产区别 260.52MB 986好评 嘿咻精品无码 51国产福利 国产三级与国产三级精品。 282.1MB 584好评 永久免费的精品黄色视频 真人无码高清在线观看 大剑香蕉食谱 45.50MB 437好评 国产二区三区AⅤ 88另类图片 免费黄色www网站 58.99MBhttps://www.edmyl.com/aplhtml23759.htm
9.仿做菜网菜谱网网站源码帝国CMS做菜网 – 中国最优质的美食,食谱,菜谱网。做你最喜爱的美食网,菜谱网。提供最人性化的菜谱大全,食谱家常菜,家常菜谱大全的美食网,让人们在宣泄的都市中体验在家常做菜,享受美食的乐趣.找家常菜谱,上美食杰菜谱做菜网。 宝塔搭建程序教程: 宝塔面板windows安装以及搭建网站教程 宝塔面板linux安装搭建网站教程以及命令 https://www.yizhanzzw.com/28316.html
10.五分钟上手Python爬虫:从干饭开始,轻松掌握技巧爬虫的工作原理类似于模拟用户在浏览网站时的操作:首先访问官方网站,检查是否有需要点击的链接,若有,则继续点击查看。当直接发现所需的图片或文字时,即可进行下载或复制。这种爬虫的基本架构如图所示,希望这样的描述能帮助你更好地理解。 很多人都听说过爬虫,我也不例外。曾看到别人编写的爬虫代码,虽然没有深入研究,https://www.51cto.com/article/784237.html
11.国潮封面国潮教程国潮风美食食谱视频封面背景:国潮教程国潮风美食食谱视频封面背景 行业:视频号封面 尺寸:1920 x 1080 像素 类目:新媒体配图 分辨率:72DPI 版式:默认 场景:图片制作 图司机新媒体配图提供国潮教程国潮风美食食谱视频封面在线图片设计,一键制作生成, 图片资源是由-4于2021-07-11T00:00:00+08:00传的作品。 图片国潮美食食谱教程国风祥云https://m.tusij.com/picture/852791.html
12.步骤图糯叽叽的木薯羹教程的做法【糯叽叽的木薯羹教程】01.将买回来的黄心木薯洗干净,用小刀从头到尾拉一条,再扒两层皮。(忘记拍扒皮后的图了),11.将木薯砍成手指关节的宽度,放入锅中,加入冰糖加入没过木薯的水就成(以上图片是我只做一点点的量,喜欢吃甜的就多放点),21.放进高压锅中,大火上汽后https://m.xiachufang.com/recipe/107252763/
13.创意菜谱家常菜大全图片家常菜谱我是一个吃货。喜欢研究一些懒人食谱,因为有的菜太复杂了,我自己都做不好。所以我把我自己研究好的食谱分享给大家。想看更多简单家常菜可以去我的主页看。下面分享你几个我自己的食谱,回家过年做个父母吃吧。 家常酸菜鱼 1、买草鱼一条(小编我只会做草鱼),叫卖鱼的大叔剔鱼骨,切鱼片(鱼肚子里面的黑膜要洗赶https://www.0898aoyou.com/post/304591.html
14.菜谱教程(另附煲仔饭、菌菇焖饭食谱) (写在最前:本文偏长,土锅煮米饭很简单,一句话就能说完。但是为了讲清楚,我做了较多文字解释。知道大家时间宝贵,但还是希望可以仔细阅读文字,信息量远大于图片:) 以前我觉得,想要煮一锅雪白喷香的米饭,最简单的办法是去买一个好的电饭煲。因为专业关系以及之前在日本打工的经历,(https://www.douban.com/doulist/2566932/?from=mdouban
15.食谱教程快手达人数据查询导航 选号车 公众号(0)视频号(0)小红书(0)抖音(0)快手(0)哔哩哔哩(0)微博(0) 维度 名称账号 ID简介企业 高级筛选 >> 按相关度 按粉丝数 按新榜指数 类型 全部 生活 时尚 情感 娱乐 才艺 游戏 美食 汽车 二次元 母婴 旅游 搞笑 运动 萌宠 https://www.newrank.cn/search/kuaishou/%E9%A3%9F%E8%B0%B1%E6%95%99%E7%A8%8B
16.综合实践《设计一周营养食谱》教程文件图文.pdf综合实践《设计一周营养食谱》教程文件图文.pdf 7页内容提供方:萧关逢候骑 大小:521.87 KB 字数:约2.26万字 发布时间:2020-11-04发布于江苏 浏览人气:424 下载次数:仅上传者可见 收藏次数:0 需要金币:*** 金币 (10金币=人民币1元)综合实践《设计一周营养食谱》教程文件图文.pdf 关闭预览 想预览https://max.book118.com/html/2020/1104/6122242001003015.shtm
17.经典蒸菜菜谱制作大全家常菜谱烹饪美食食谱教程epubpdf店铺: 人天图书专营店 出版社: 化学工业出版社 ISBN:9787122225887 商品编码:10163362521 包装:平装 开本:16开 出版时间:2015-03-01 用纸:胶版纸 页数:202 正文语种:中文 超简单健康蒸菜大全 经典蒸菜菜谱制作大全 家常菜谱烹饪 美食食谱教程 epub pdf mobi txt 电子书 下载 2024 https://book.tinynews.org/books/10163362521
18.《0图书 > 家教 > 婴幼儿饮食 > 0-6岁宝宝营养食谱2880例正版宝宝辅食书彩图版食谱制作教程大全儿童营早餐菜谱6个月儿童营养菜谱书 0-6岁宝宝营养食谱2880例 浩盛时代图书专营店 0-6岁宝宝营养食谱2880例正版宝宝辅食书彩图版食谱制作教 该商品已下柜,欢迎挑选其他商品!https://item.jd.com/10073375387531.html
19.从零开始学下厨文怡王芳创艺厨房私房菜制作食谱步骤教程.pdf如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。 特殊限制: 部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。 关键 词: 从零开始 下厨 文怡王芳创艺 厨房 私房 制作 食谱 步骤 教程https://www.wenkunet.com/p-6475537.html
20.en.stnm.com.cn/mmmj145165.shtml操逼网站操逼网站操逼操逼操逼操逼操逼操逼操逼 苍井空生育 47.83MB 72%好评5283人) 裸体美女搞鸡巴视频免费看 被夫の上司持久侵犯在线阅读 日本人做暖免费高清视频 20.70MB 63%好评19人) 伸进三角裤 色综合一二 姐弟操逼小说 62.70MB 12%好评39人) 一级做a爱97视频教程免费 宝宝趴开一http://en.stnm.com.cn/mmmj145165.shtml
21.饭团的做法和配料视频教程饭团的做法和配料食谱(2)汤圆与食材摊点的练习,汤圆的练习,汤圆的练习教程,在哪里学习路边摊点小吃教程,最新的摊点小吃完整。 糯米团练习、糯米团技术配方、糯米团培训课程目录:1、黄瓜条2、里脊制作3、糯米准备4、酸辣海鲜酱5、甜辣酱练习。 (3)开店制作饭团食谱教程,制作过程,需要喜欢的收藏。 http://www.sthmzxyy.cn/post/21083.html