GTokenTool全网最好的代币发行工具平台
当前位置:首页 >> 加密百科 >> 如何在 Django 中创建 NFT 门控网站

如何在 Django 中创建 NFT 门控网站

admin 加密百科 100

NFT 彻底改变了所有权、票务、认证等。此外,发起人可以只向持有特定 NFT(非同质化代币)的人授予网站内容的访问权限。这种使用 NFT 作为验证的“门控”网站或特定页面是开发人员在寻求采用区块链技术的网站中实施的独特验证方法之一。此外,如果您是一名想要学习如何在 Django 中创建 NFT 门控网站的开发人员,那么本文将非常有益。事实上,使用 Moralis SDK,在 Django 中创建 NFT 门控网站就变成了一个简单的过程。


如果您熟悉最佳的 Web3 技术堆栈,那么您就会知道 Moralis 是终极的 Web3 API 提供商。它为您提供企业级 Web3 API,包括 Moralis NFT API。此外,Moralis 完全是关于跨平台互操作性的。因此,您可以使用各种 Web2 开发平台和编程语言加入 Web3 革命。此外,当使用 Moralis 在 Django 中创建 NFT 门控网站时,您可以专注于多个可编程链。毕竟,Moralis 也是跨链互操作的。因此,您永远不会被困在任何特定的链上,这为您的 dapps 提供了未来保障。 




什么是 Django?

Django 是一个免费的、开源的、基于 Python 的高级 Web 框架。它遵循“模型-模板-视图”(MTV)架构模式,这个 Web 框架鼓励快速开发和简洁、实用的设计。此外,Django 旨在帮助开发人员尽快将应用程序从概念变为现实。此外,Django 非常安全。因此,它允许开发人员避免许多常见的安全错误。此外,这个框架可以快速灵活地扩展。尽管如此,Django 软件基金会仍维护着 Django,该基金会是一家总部位于美国的独立 501 非营利组织。  


此外,要了解有关 Django 的更多信息,请务必访问 Django 官方网站(“djangoproject.com”)。在这里,您可以浏览 Django 文档并探索有关如何开始使用这个基于 Python 的 Web 框架的说明。


使用 Moralis 在 Django 中创建 NFT 门控网站

今天的教程将教你如何仅向拥有特定 NFT 的经过身份验证的用户显示受限页面的内容。因此,你需要一个包含Web3 身份验证的网站。如果你以前还没有完成这部分,请随意跳到“在 Django 中向你的网站添加 NFT 门控功能”部分。另一方面,请务必访问Moralis 文档。在那里,你将学习如何向你的 Django 应用程序添加安全的 Web3 身份验证。本质上,你将学习创建一个全栈 Web3 身份验证流程。此外,涵盖该部分是在 Django 中创建 NFT 门控网站的先决条件。

当然,您可以使用我们在 GitHub 上提供的最终代码模板来节省大量时间。为了轻松地为您的 Django 应用程序实现 Web3 身份验证,您需要您的 Moralis 帐户。因此,如果您还没有这样做,请单击简介中的“创建您的免费 Moralis 帐户”链接或访问 Moralis 的主页。您还需要安装 Python v3。尽管如此,请务必使用 Django 文档来获取 Django 基础知识。 

上面链接的 Moralis 文档页面将指导您完成完成该项目所需的所有步骤。首先,您将安装所有必需的依赖项。然后,您将创建一个新的 Django 项目(“ moralis_auth ”)和一个新的 Django 应用程序(“ web3_auth ”)。您还将学习如何运行数据库迁移以及如何创建“超级用户”。接下来,您需要编辑“ moralis_auth ”项目设置。您可以通过在“ settings.py ”中将“ web3_auth ”添加到已安装应用程序列表中来执行此操作:




此外,您还需要在新项目中包含新创建的应用程序的 URL:



最后,您将专注于使用“ urls.py ”、“ views.py ”和模板创建主要的“ web3_auth ”应用程序。

获取您的 Moralis Web3 API 密钥

“ views.py ”脚本的关键部分是“ API_KEY ”代码行。您需要在此处粘贴 Moralis Web3 API 密钥,以便使用 Moralis 的功能。幸运的是,一旦您进入 Moralis 管理区域,获取该密钥就非常简单。您可以使用 Moralis 帐户凭据访问后者。然后,只需单击两次即可获取 Moralis Web3 API 密钥:



运行你的 Django Dapp

通过设置 API 密钥并创建“ login.html ”和“ profile.html ”模板,您就可以启动 dapp 了。如果您已按照 Moralis 文档的步骤操作,则应该能够在本地服务器上查看 dapp。它应该如下所示: 



如上图所示,我们专注于功能而非设计。但是,我们鼓励您创建更引人注目的用户界面。此外,单击“使用 Moralis Web3 API 登录”按钮后,您的 MetaMask 将弹出,要求您签署签名请求:




签署上述签名请求后,您将看到完整的个人资料页面:

当然,所有以上详细信息都应与您的 Web3 钱包的详细信息相匹配。

现在您知道如何在 Django 中使用 Moralis Auth API,接下来我们该专注于将上述 dapp 转换为 NFT 门控网站了。  



使用 Django 为你的网站添加 NFT 门控功能

我们将向您展示如何基于上面介绍的 dapp 在 Django 中创建一个 NFT 门控网站。因此,请确保您已经涵盖了该部分。然后,您需要打开“ views.py ”文件并添加一个新视图。按照我们的指导,将新视图命名为“ protected ”。以下是您需要添加到“ views.py ”的代码行

def保护请求    eth_address =请求.session.get ( 'verified_data' , { } ) .get ( 'address' , None )    nfts = [ ]    #是polygon上的opensea合约地址    合同地址 = “0x2953399124f0cbb46d2cbacd8a89cf0599974963”    WEB3_API_URL = 'https://deep-index.moralis.io/api/v2'    REQUEST_URL = '%s/%s/nft?chain=polygon&token_addresses=%s' % (        WEB3_API_URL,        eth_地址,        合同地址    x = 请求.获取        请求网址,        标头 = { 'X-API-KEY' : API_KEY } 打印json.loads x.text nfts    = json.loads ( x.text ) [ '结果' ]    # 仅显示1 个nft 如果是nfts:        nfts = json.dumps ( [ nfts [ 0 ] ] ,缩进= 4 ) 打印eth_address 打印nfts 返回渲染        请求,'protected.html' { 'nfts' : nfts } )

如前所述,Moralis 支持多个区块链。但是,正如您在上面的代码中看到的,我们决定专注于 Polygon 链。此外,查看上面的代码行,您可以看到“受保护”视图从当前会话的用户中提取地址。执行此操作后,它会发出 Web3 API 请求以获取与该钱包地址的特定合约地址关联的 NFT。 

创建“ protected.html ”模板

要在 Django 中创建 NFT 门控网站,您必须添加一个新模板。因此,按照我们的提示添加一个名为“ protected.html ”的模板。然后用以下代码行填充此模板:

<!DOCTYPE html><html lang= "en" ><头部>    <meta 字符集= "UTF-8" >    <meta http-equiv= “X-UA-Compatible” content= “IE=edge” >    <meta name= "viewport" content= "width=device-width, initial-scale=1.0" >    <title>Moralis Django NFT 门控演示页面</title></head><主体>    <div> { %如果用户. is_authenticated % }        <h1>Eth 地址:{ {用户.用户名} } </h1>        <h2>受保护的内容</h2> { %如果nfts % }          <h3>太棒了!您拥有了我们的 NFT!</h3>          <前>{ {无损检测} }          </pre> { 别的}          <h3>抱歉,您没有我们的 NFT!</h3>        {% 万一 %}        <br/><a href="{% url ' logout ' %}?next={% url ' moralis_auth ' %}"> 注销</a>    {% 别的 %}<a href="{% url ' moralis_auth' % } "> 登录页面 </a> { % 万一 % }    </div></body></html>

查看上面的代码行,您可以看到此模板使用“ if ”函数提供两个不同的标题。 如果用户拥有合适的 NFT,我们的 dapp 将显示“很好!您有我们的 NFT! ”标题。 但是,如果用户没有所需的 NFT,我们的 dapp 将显示“抱歉,您没有我们的 NFT! ”标题。 此外,当用户拥有所需的 NFT 时,我们的 dapp 还会显示 NFT 的详细信息。 当我们查看使用 Django 和 Moralis 创建的示例 NFT 门控网站的演示时,您会看到这一点。 

但是,在运行我们的示例 dapp 实例之前,您还需要将以下代码行添加到“ urls.py ”脚本中:

路径'protected' ,views.protected ,name = 'protected '

如您所见,上面这行代码只是指向“受保护”视图的路径。  

我们在 Django 中的示例 NFT 门控网站 – 演示

将上述代码行添加到“ views.py ”和“ urls.py ”中,并将新模板放到位后,您就可以运行我们的示例 dapp 实例了。当然,您的 dapp 的实际显示将取决于您是否拥有您按要求设置的 NFT(NFT 合约地址)。因此,如果您不拥有所需的 NFT,您将看到上述“抱歉,您没有我们的 NFT! ”标题:



另一方面,如果你拥有所需的 NFT,你将能够看到门控内容:



进一步了解 NFT 门控网站 

可以想象,使用 NFT 门控网站的用例数不胜数。最基本的示例是向所需 NFT 的所有者提供特定内容。但是,您可以更进一步,授予普通访问者无法访问的 Web3 游戏或 dapp 的访问权限。此外,NFT 门控网站还可用于在线活动、收集奖励、参加秘密在线聚会等。因此,您可以为各种 NFT 项目在 Django 中创建 NFT 门控网站。

另一方面,你也可以创建自己的 NFT 项目。在这种情况下,你需要决定要专注于哪种 NFT。如果你决定使用艺术图像来代表 NFT,你可以轻松地将该部分外包。或者,你可以与数字艺术家或熟练的设计师合作。但是,就创建 NFT 的技术部分而言,你的开发技能将派上用场。你可能会惊讶地发现创建 NFT 并不那么困难。当然,它涉及使用智能合约,但你不必是 Solidity 专家即可铸造 NFT。借助一些出色的工具,例如 Remix、Hardhat 和 OpenZeppelin,你可以毫不费力地部署智能合约。尽管如此,你也可以专注于 Solana 区块链,在这种情况下,你可以使用 Metaplex 的 NFT Candy Machine。


要了解有关在 EVM 兼容链或 Solana 上创建 NFT 的更多信息,请务必访问Moralis 博客。在那里,你可以找到文章来解释你需要了解的有关 NFT 和 NFT 铸造的所有信息。当然,这里也是找到有关如何创建不同标准的 NFT 的详细分步教程的地方。   

如何在 Django 中创建 NFT 门控网站 - 摘要

在今天的文章中,您有机会学习如何在 Django 中创建 NFT 门控网站。我们首先确保你们都知道 Django 是什么。然后我们专注于创建一个带有 Web3 身份验证的简单 Django 应用程序。此外,我们在这里对所需步骤进行了适当的概述。但是,要了解更多详细信息,您需要使用 Moralis 文档。一旦您准备好了我们的 Django dapp 实例,您只需要调整“ views.py ”和“ urls.py ”脚本。此外,您还需要创建“ protected.html ”模板。一旦您在 Django 中创建了 NFT 门控网站,希望您能试用一下。最后但并非最不重要的是,我们还讨论了如何将 NFT 门控网站提升到一个新的水平。除了其他有用的技巧之外,您还可以在这里了解如何铸造 NFT。

如上所述,Moralis 博客是了解有关 NFT 实用程序和 NTF 开发的更多信息的好地方。此外,这也是您可以探索 Web3 开发其他方面的地方。结合Moralis YouTube 频道和 Moralis 文档,这些渠道可以帮助您免费成为 Web3 开发人员。但是,Web3 开发远不止在 Django 中创建 NFT 门控网站。此外,借助 Moralis,您可以使用任何流行的传统开发平台并轻松创建杀手级 dapp。

还值得一提的是,加密领域提供了无数的就业机会。因此,对全职从事加密行业感兴趣的人的需求很高。然而,在寻求加密职业之前,你需要对 Web3 和区块链技术有所了解。这就是获得Moralis Academy的区块链认证可以帮助你更上一层楼的地方。

作者:GTokenTool一键发币平台

交流群:https://t.me/+Kz4u3xoDpFo3ZWY1

同类推荐