全栈“食”代:用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.基于python的降美食菜谱分享网站微信小程序我们创建了基于微信的小程序美食网站系统就是属于第三种,系统可以在一定程度上提高吃货们对美食的认知,以及让吃货们了解到更多元化的美食,且本系统比较特别的一点是为“吃货们”设定了一个健康值,里面有一些较营养的搭配,在一定程度上提高了“吃货们”的身体健康,有健康的身体才能好好“吃”天下。 https://blog.csdn.net/qq840612233/article/details/143882376
2.中国食谱美食网站排行5、心食谱(www.xinshipu.com) 心食谱网站是一个提供给全球华人的食谱平台,厨友们可以在此分享自己的用心创意,可以对别人的食谱进行评价,我们提供强大的站内搜索功能帮助厨友可以最便捷地寻找到自己需要的食谱,厨友也可以收藏食谱,收藏优秀的美食家 6、下厨房网 (www.xiachufang.com) https://m.douban.com/note/617340532/
3.菜谱网菜式 蛋糕戚风蛋糕蛋糕卷海绵蛋糕磅蛋糕奶油蛋糕慕斯蛋糕玛德琳费南雪面包吐司餐包欧包蛋挞慕斯凤梨酥 菜系 中式 川菜湘菜粤菜闽菜浙菜宁式鲁菜苏菜徽菜京菜豫菜晋菜赣菜沪菜广西菜展开 西式 西餐日本料理韩国料理泰国菜意大利菜法国菜东南亚菜印度菜西班牙菜越南菜墨西哥菜英国菜德国菜葡式 https://www.xiao688.com/attr.html
4.美食天下美食天下是活跃的中文美食网站与厨艺交流社区,拥有海量的优质原创美食菜谱,聚集超千万美食家。我所有的朋友都是吃货,欢迎您加入!https://www.meishichina.com/
5.十大美食网站排行教做饭的网站哪个好在线学做菜的网站推荐美食天下是非常好用的美食网站,原创菜谱与美食生活社区,精选成千上万道菜谱,并提供详细的食材营养功效、食用禁忌、选购技巧等诸多内容。在这里,你可以认识食材,学习做家常菜,或是学习做小吃、凉菜、烘焙、早餐等。也可以根据人群学习做菜,如孕妇、产妇、婴儿、儿童、老人等。或是根据主题学习做菜,如健康食谱、减肥瘦身https://www.maigoo.com/citiao/list_118022.html
6.5个美食菜谱网站推荐,再也没有你做不会的来自陈奶酪饿了5个美食菜谱网站推荐,再也没有你做不会的菜!今天给大家分享几个私藏的美食网站,这些网站都是我平时浏览最多的,让你轻松做菜无负担,手残党也能学会!喜欢做菜的宝宝可一定要收藏啦~ 网站书签已经帮大家整理https://weibo.com/1992523932/L3I48zJlR
7.菜谱大全下厨房做饭做菜好帮手菜谱大全-厨房学做饭美食烹饪软件 Comida y bebida 网上厨房-家常菜谱美食烘焙教程 Comida y bebida 家常菜川菜湘菜-粤菜西餐鲁菜凉菜药膳面食小吃 Comida y bebida 健康食谱-食疗药膳菜谱大全 Comida y bebida 菜谱大全–小白学做菜做饭助手 Comida y bebida 苏菜食谱 - 中国美食之江苏菜做法大全 Comhttps://apps.apple.com/ar/app/%E8%8F%9C%E8%B0%B1%E5%A4%A7%E5%85%A8-%E4%B8%8B%E5%8E%A8%E6%88%BF%E5%81%9A%E9%A5%AD%E5%81%9A%E8%8F%9C%E5%A5%BD%E5%B8%AE%E6%89%8B/id1499340414?see-all=customers-also-bought-apps
8.探索减肥领域的权威食谱推荐网站减肥食谱减肥之旅并非易事,需要自律、坚持和适当的营养指导。在信息泛滥的互联网时代,找到可靠且有效的减肥食谱网站至关重要。本文将为您推荐几个权威的减肥食谱网站,提供科学、个性化的饮食建议,帮助您实现减肥目标。 1. 食谱库 食谱库是一个汇集了大量减肥食谱的平台。其食谱经过专业营养师审核,提供各种卡路里范围和饮食类型https://www.cibailian.com/jiangfei/12069.html
9.减肥食谱瘦身网专业减肥食谱网站离了个大谱!自媒体博主为博流量报假警,直播“警察上门扫黄” 两男子为博流量 在直播过程中报假警 企图导演一出 “警察上门扫黄”的戏码 这样的举动严重扰乱了公共秩序 被厦门…Read More ? 每日食谱2020月11月5日 早餐: 曲奇红枣奶昔 奶昔营养含量 每份含有:热量:231大卡 蛋白质:25.7克 脂肪:1.84克 …Readhttp://www.jianfei6.com/
10.菜单食谱素材网站图片免费下载食谱版式设计,鱼胶菜单食谱 7 维拓设计 餐饮app端界面设计,菜单食谱制作说明. 6 志趣青年 良食筷乐菜单食谱海报拍摄 1 陈璟 可爱.卡通.菜单食谱 17 敏敏小自恋 填色,装饰插画美食线稿 90 沐眠_ ipad线稿风|食物插画 3 皮皮怪_ 餐单 76 小公主苏菲亚1 「你出海我搭台」双十一超多福利 -高性能云服务器https://www.zcool.com.cn/tag/ZMTE0NTc5Ng==.html
11.制作韩国早餐食谱网站您好,您查找的“制作韩国早餐食谱网站”问题,目前没有相关的答案,您可以通过下面查看是否有与“制作韩国早餐食谱网站”相关内容!也可以扫描二维码添加微信了解相关内容。 相关前20条内容: SQL Server STUFF函数,将返回结果集 拼接成字符串 新闻来源:网络整理 2023-2-14共有:3617浏览 https://www.gzit.cn/theme/1966815.html
12.健身食谱博客网站系统开发案例健身餐食谱网站,博客系统。可以分享点赞等一系列的功能。可以将自己美食以及做法发布在网上与他人分享。 并且可以收藏你喜欢的食谱等。 声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有https://www.proginn.com/w/1312641
13.食谱个人博客网站模板食谱个人博客网站模板 美食食谱个人博客网站模板,非常适合美食博主、内容创作者、作家、YouTuber 或博客相关网站。它是干净、现代和简单的设计。 特征 5个选定的屏幕 使用的谷歌字体 使用免费的网络编辑器 Figma 进行编辑 所有组和层都井井有条 屏https://www.uitubang.com/475.html
14.象印食谱象印(ZOJIRUSHI)官方网站焖烧杯系列食谱视频 适用于所有焖烧杯产品 枸杞雪皂角米银耳羹 焖烧杯系列食谱视频 适用于所有焖烧杯产品 鲜蔬竹笋饭 电饭煲系列食谱视频 适用于【什锦饭】菜单机型 皮蛋瘦肉粥 电饭煲系列食谱视频 适用于【粥】菜单机型 番茄海鲜饭 电饭煲系列食谱视频 适用于【什锦饭】菜单机型 https://www.zojirushi-china.com/activity/recipe/all/
15.美食食谱食谱网站源码必备17素材网小编分享了一款美食食谱食谱网站源码必备,简约大气的UI界面,功能模块齐全,为品牌带来多样化的展示效果和营销策略,供大家参考。https://www.17sucai.com/pins/60671.html
16.优质食品食谱网站模板优质食品食谱网站模板。使用Bootstrap 5框架构建的HTML完整编码。通过我们的食物和烹饪大爱的启发,专为食品博客,配方开发者,创业公司,以及之间的一切完美的模板。 精美的卡片和有用元素的集合,可以完美地协同工作。适用于所有设备的完全响应页面,旨在在所有设备和浏览器上运行。各种完全响应的现成页面,可用于您的下一个https://www.ruanfun.com/3538.html
17.美食厨房儿童食谱美食厨房频道提供大量的美味食谱介绍,包含孕期食谱、产后食谱、辅食制作、儿童食谱、家庭美食、减肥食谱、美容食谱等,更多美食文化信息,尽在幼教网美食厨房频道。https://www.youjiao.com/shipu/
18.做饭菜谱大全做饭菜谱食谱大全做饭网为您提供做饭菜谱大全.其中包括八大菜系菜谱大全、家常菜食谱大全、北方面食做饭大全、年夜饭做菜大全等.找菜谱、食谱、做菜方法等做饭大全就上做饭网.【做饭网您的家庭厨师】https://m.zuofan.cn/
19.我的食谱(MyRecipes)世界饮食文化世界美食环球文化网址我的食谱(My Recipes) MyRecipes.com是美国著名美食门户网站,属于美国时代华纳公司(Time Warner Inc.)旗下产品,提供超过55000份经过了专业厨房测试了的健康美味菜谱,用户可以在这里轻松搜索到符合自己口味的菜肴制作方法。MyRecipes.com提供的菜谱主要来自于同样属于时代华纳公司的《烹饪之光(Cooking Light)》等知名美食https://www.yywz123.com/web/45720.html
20.乐做菜菜谱家常菜谱菜谱大全乐做菜是一个致力于分享家常菜谱和特色菜谱的网站,提供丰富的家常菜谱、食谱、菜谱大全和烹饪技巧,为厨师和美食爱好者提供一个交流分享菜谱的平台。http://m.lezuocai.com/
21.降饮食食谱健康饮食小常识提供健康饮食食谱、健康饮食搭配、健康饮食习惯、健康饮食减肥等方面的知识,告诉你健康饮食的重要性及如何健康饮食,保障您日常生活的健康https://www.xuexila.com/shenghuo/jiankang/
22.美食菜谱网站海量零失败家常菜 10000+VIP名厨菜谱 IOS:香哈菜谱大全 扫码下载APP IOS:香哈菜谱大全pro 扫码下载APP 安卓:食谱大全 扫码下载APP IOS:烘焙小屋 扫码下载APP 安卓:菜谱大全 扫码下载APPhttp://rank.chinaz.comwww.allcaipu.com/
23.美食菜谱网站美食菜谱网站 海量零失败家常菜 10000+VIP名厨菜谱 IOS:香哈菜谱大全 扫码下载APP IOS:香哈菜谱大全pro 扫码下载APP 安卓:食谱大全 扫码下载APP IOS:烘焙小屋 扫码下载APP 安卓:菜谱大全 扫码下载APP http://apiios_dq.xiangha.com/
24.日本食谱分享网站Cookpad7月17日IPO上市日本最大食谱分享网站Cookpad网站截图 新浪科技讯 北京时间6月12日晚间消息,据国外媒体报道,日本最大食谱分享网站Cookpad(cookpad.com)周五宣布,该网站将通过IPO方式于7月17日在东京证交所上市,进入名为“Mothers”的创业版块。 Cookpad网站由位于东京的同名公司创立于1997年,仅提供日文服务,目前该网站上食谱总数已https://www.51callcenter.com/newsinfo/209/33267/
25.自动生成食谱一站式食谱自动生成软件与网站随着科技的不断发展咱们的生活越来越便捷。在厨房烹饪方面,自动生成食谱的出现为广大美食爱好者提供了极大的便利。本文将向您介绍几款热门的自动生成食谱以及怎样去在一站式网站这些软件。 一、自动生成食谱概述 自动生成食谱是一种可以依照客户喜好、营养需求等因素,自动生成适合的食谱的应用程序。这些常常具有以下特点:http://www.slrbs.com/jrzg/aitong/121281.html
26.酷食谱酷食谱(kushipu.com)是分享家常菜谱做法大全及图片的美食网站.提供家常菜做法大全图解,简单食谱家常菜做法步骤大全详细步骤及图片做法,让您轻松学做美味佳肴,享受美食的乐趣.找家常菜谱,上酷食谱美食网.http://m.kushipu.com/
27.recipes:Rails食谱分享网站开发技术这是一个开放源代码食谱网站。 目前,我在生产环境中运行它。 安装 安装分四个步骤进行: 从Git克隆 建立依赖关系 设置数据库 启动服务器 从Git克隆 git clone https://github.com/akofink/akrecipes.git cd akrecipes 建立依赖关系 安装ruby 2.1( 或) gem install bundler bundle install 设置数据库 使用。 https://www.coder100.com/index/index/content/id/2240687
28.食谱菜谱网站html模板Bootstrap美食菜谱教程网站模板食品和食谱HTML模板专门为厨师和烹饪专家设计。Recipex将帮助分享烹饪技巧和与广大读者分享你所有的食谱。Recipex模板有美丽和独特的设计,将最适合你的在线网站。它有100%响应设计和所有主要的手持设备上测试过。这个模板提供了必要的功能,为你在线分享菜谱,提交页面,博客页面等等Recipex可以成为一个伟大的选择为您的http://www.jqueryfuns.com/resource/2295
29.全国美食餐饮类的知名媒体网站有哪些心食谱( www.xinshipu.com):心食谱网站是一个提供给全球华人的食谱平台,用户可以在此分享自己的创意食谱,也可以对别人的食谱进行评价和收藏。它倡导自己动手制作美食,享受美食本身和制作美食的过程。 食谱秀网( www.shipuxiu.com):食谱秀网为用户提供简单实用的家常菜做法、最火爆和最受欢迎的家常菜谱、特色菜谱等。http://www.fastoutiao.com/news/46191.cshtml
30.食谱网食谱网! 皖ICP备2021001233号-5http://www.shipu.cn/