Maison développement back-end Golang Pratique de développement Beego - de la publication d'un blog au centre commercial en ligne

Pratique de développement Beego - de la publication d'un blog au centre commercial en ligne

Jun 23, 2023 am 10:58 AM
在线商城 beego 发布博客

Beego est un framework de développement web basé sur le langage Go. Il est facile à utiliser, efficace, stable et rapide à développer. Il est privilégié et utilisé par de plus en plus de développeurs. Dans cet article, nous expliquerons comment utiliser le framework Beego, de la publication d'un blog à la création d'un centre commercial en ligne.

1. Sortie du blog

  1. Installation et configuration de Beego

Tout d'abord, nous devons installer et configurer le framework Beego dans l'environnement local. Il peut être installé via la commande suivante :

go get -u github.com/astaxie/beego
go get -u github.com/beego/bee
Copier après la connexion

Une fois l'installation terminée, créez un nouveau projet via la commande bee new, comme suit :

bee new blog
Copier après la connexion

Dans le projet généré, le fichier app.conf dans le dossier de configuration est celui de Beego. fichier de configuration principal. Nous pouvons y configurer des ports, des bases de données, des journaux, etc.

  1. Écrire du code

Dans le projet généré, les fichiers du dossier des contrôleurs sont le code du contrôleur de Beego, où nous pouvons écrire la logique métier dont nous avons besoin. Par exemple, nous devons créer un modèle de blog et un contrôleur :

// models/blog.go
type Blog struct {
    Id int
    Title string
    Content string
    Created time.Time
}

// controllers/blog.go
type BlogController struct {
    beego.Controller
}

func (this *BlogController) Get() {
    // 查询所有博客并渲染到页面
    blogs := models.GetAllBlogs()
    this.Data["blogs"] = blogs
    this.TplName = "blog.tpl"
}

func (this *BlogController) Post() {
    // 新建一篇博客
    title := this.GetString("title")
    content := this.GetString("content")

    blog := models.Blog{
        Title:   title,
        Content: content,
        Created: time.Now(),
    }

    models.AddBlog(&blog)

    this.Redirect("/blog", 302)
}
Copier après la connexion

Dans le code ci-dessus, nous créons un modèle Blog et implémentons la logique d'obtention de tous les blogs et d'ajout de nouveaux blogs dans le contrôleur.

  1. Rendu de vue

Beego utilise le moteur de modèle du langage Go pour implémenter le rendu de vue. Les fichiers de vue sont généralement enregistrés dans le dossier des vues. Dans cet exemple, nous pouvons créer un fichier blog.tpl et restituer la page pour afficher la liste des blogs et le formulaire d'ajout de nouveaux blogs :

<!DOCTYPE html>
<html>
<head>
    <title>Blog</title>
</head>
<body>
    <h1>All Blogs</h1>
    {{range .blogs}}
        <h2>{{.Title}}</h2>
        <p>{{.Content}}</p>
        <p>{{.Created}}</p>
    {{end}}
    <h1>New Blog</h1>
    <form method="post" action="/blog">
        <label>Title:</label>
        <input type="text" name="title"/><br/>
        <label>Content:</label>
        <textarea name="content"></textarea>
        <br/>
        <input type="submit" name="submit" value="Submit"/>
    </form>
</body>
</html>
Copier après la connexion

Parmi eux, l'instruction {{range .blogs}} est utilisée pour restituer tous les blogs. dans une boucle, les instructions {{.Title }}, {{.Content}}, {{.Created}} sont utilisées pour restituer des informations spécifiques au blog.

  1. Exécutez le programme

Vous devez créer ou configurer la base de données avant d'exécuter le programme. Vous pouvez définir les informations de connexion à la base de données dans le fichier app.conf. Après avoir terminé la configuration, utilisez la commande suivante pour exécuter le programme :

bee run
Copier après la connexion
Copier après la connexion

Visitez localhost:8080/blog dans le navigateur pour afficher la liste des blogs.

2. Centre commercial en ligne

En plus de la fonction de publication de blog, nous pouvons également utiliser le framework Beego pour développer un centre commercial en ligne. Vous trouverez ci-dessous un exemple simple.

  1. Installation et configuration de Beego

De même, nous devons d'abord installer et configurer le framework Beego dans l'environnement local. Dans cet exemple, nous utilisons la commande suivante pour installer :

go get github.com/astaxie/beego
go get github.com/beego/bee
Copier après la connexion

et créer un nouveau projet via l'abeille. nouvelle commande :

bee new shop
Copier après la connexion

Dans le projet généré, le fichier app.conf dans le dossier config est le fichier de configuration principal de Beego. Nous pouvons y configurer des ports, des bases de données, des journaux, etc.

  1. Écrire du code

Dans le projet généré, les fichiers du dossier des contrôleurs sont le code du contrôleur de Beego, où nous pouvons écrire la logique métier dont nous avons besoin.

// models/goods.go
type Goods struct {
    Id int
    Name string
    Price float64
    Created time.Time
}

// controllers/default.go
type MainController struct {
    beego.Controller
}

func (c *MainController) Get() {
    c.Data["Website"] = "myshop"
    c.Data["Email"] = "myshop@gmail.com"
    c.TplName = "index.tpl"
}

type GoodsController struct {
    beego.Controller
}

func (this *GoodsController) Add() {
    name := this.GetString("name")
    price, _ := this.GetFloat("price", 0.0)

    goods := models.Goods{
        Name:      name,
        Price: price,
        Created: time.Now(),
    }

    models.AddGoods(&goods)

    this.Redirect("/", 302)
}

func (this *GoodsController) GetAll() {
    goods := models.GetAllGoods()
    this.Data["json"] = &goods
    this.ServeJSON()
}
Copier après la connexion

Dans le code ci-dessus, nous avons créé un modèle Goods et implémenté la logique d'obtention de tous les produits et d'ajout de nouveaux produits dans le contrôleur. La logique d'affichage de la page d'accueil est implémentée dans MainController.

  1. Opération de base de données

Lors de l'ajout et de l'obtention de produits, nous devons nous connecter à la base de données, ce qui peut être réalisé via le propre ORM de Beego. Créez un nouveau fichier database.go dans le dossier models pour initialiser la connexion à la base de données :

package models

import (
    "github.com/astaxie/beego/orm"
    _ "github.com/go-sql-driver/mysql"
)

func RegisterDB() {
    orm.RegisterDriver("mysql", orm.DRMySQL)
    orm.RegisterDataBase("default", "mysql", "root:@tcp(127.0.0.1:3306)/shop?charset=utf8", 30)
}
Copier après la connexion

Lors de l'ajout de nouveaux produits et de l'obtention de produits, nous pouvons l'implémenter via le code suivant :

func AddGoods(goods *Goods) (int64, error) {
    if err := orm.NewOrm().Read(&goods); err == nil {
        return 0, errors.New("Goods already exists")
    }
    id, err := orm.NewOrm().Insert(goods)
    return id, err
}

func GetAllGoods() []*Goods {
    var goods []*Goods
    orm.NewOrm().QueryTable("goods").All(&goods)
    return goods
}
Copier après la connexion
  1. Voir le rendu

Beego utilise le Go langage Un moteur de modèle est utilisé pour implémenter le rendu des vues. Les fichiers de vue sont généralement enregistrés dans le dossier des vues. Dans cet exemple, nous pouvons créer un fichier index.tpl pour afficher la page d'accueil du centre commercial en ligne :

<!DOCTYPE html>
<html>
<head>
    <title>{{.Website}}</title>
</head>
<body>
    <h1>Welcome to {{.Website}}!</h1>
    <h2>Add Goods:</h2>
    <form action="/goods/add" method="post">
        <input type="text" name="name">
        <input type="number" name="price" step="0.01">
        <input type="submit" value="Add">
    </form>
    <h2>All Goods:</h2>
    <table border="1">
        <tr>
            <td>Id</td>
            <td>Name</td>
            <td>Price</td>
            <td>Created</td>
        </tr>
        {{range .goods}}
        <tr>
            <td>{{.Id}}</td>
            <td>{{.Name}}</td>
            <td>{{.Price}}</td>
            <td>{{.Created}}</td>
        </tr>
        {{end}}
    </table>
</body>
</html>
Copier après la connexion

Parmi eux, l'instruction {{range .goods}} est utilisée pour restituer tous les produits en boucle.

  1. Exécutez le programme

Après avoir terminé d'écrire le code et le modèle, utilisez la commande suivante pour démarrer le programme :

bee run
Copier après la connexion
Copier après la connexion

Visitez localhost:8080 dans le navigateur pour afficher la page d'accueil du centre commercial en ligne, ajouter des produits et afficher tous les produits. Vous pouvez générer un fichier exécutable autonome en exécutant la commande suivante :

bee pack
Copier après la connexion

Ce qui précède est le processus pratique complet d'utilisation du framework Beego, de la publication d'un blog à un centre commercial en ligne. J'espère que cela sera utile aux développeurs qui apprennent. Beego.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Utiliser Prometheus et Grafana pour mettre en œuvre la surveillance et les alarmes dans Beego Utiliser Prometheus et Grafana pour mettre en œuvre la surveillance et les alarmes dans Beego Jun 22, 2023 am 09:06 AM

Avec l’essor du cloud computing et des microservices, la complexité des applications a augmenté. Par conséquent, la surveillance et le diagnostic deviennent l’une des tâches de développement importantes. À cet égard, Prometheus et Grafana sont deux outils open source populaires de surveillance et de visualisation qui peuvent aider les développeurs à mieux surveiller et analyser les applications. Cet article explorera comment utiliser Prometheus et Grafana pour implémenter la surveillance et les alarmes dans le framework Beego. 1. Introduction Beego est une application web open source à développement rapide.

Utilisez Google Analytics pour compter les données du site Web dans Beego Utilisez Google Analytics pour compter les données du site Web dans Beego Jun 22, 2023 am 09:19 AM

Avec le développement rapide d'Internet, l'utilisation d'applications Web devient de plus en plus courante. La manière de surveiller et d'analyser l'utilisation des applications Web est devenue une préoccupation des développeurs et des opérateurs de sites Web. Google Analytics est un puissant outil d'analyse de sites Web qui permet de suivre et d'analyser le comportement des visiteurs d'un site Web. Cet article explique comment utiliser Google Analytics dans Beego pour collecter des données de sites Web. 1. Pour enregistrer un compte Google Analytics, vous devez d'abord

Gestion des erreurs dans Beego - éviter les plantages d'applications Gestion des erreurs dans Beego - éviter les plantages d'applications Jun 22, 2023 am 11:50 AM

Dans le framework Beego, la gestion des erreurs est un élément très important, car si l'application ne dispose pas d'un mécanisme de gestion des erreurs correct et complet, cela peut provoquer un crash ou un mauvais fonctionnement de l'application, ce qui est à la fois un avantage pour nos projets et pour les utilisateurs. problème très grave. Le framework Beego fournit une série de mécanismes pour nous aider à éviter ces problèmes et à rendre notre code plus robuste et maintenable. Dans cet article, nous présenterons les mécanismes de gestion des erreurs dans le framework Beego et discuterons de la manière dont ils peuvent nous aider à éviter

Cinq projets open source sélectionnés en langage Go pour vous emmener explorer le monde de la technologie Cinq projets open source sélectionnés en langage Go pour vous emmener explorer le monde de la technologie Jan 30, 2024 am 09:08 AM

À l'ère actuelle de développement technologique rapide, les langages de programmation poussent comme des champignons après la pluie. L'un des langages qui a beaucoup retenu l'attention est le langage Go, apprécié par de nombreux développeurs pour sa simplicité, son efficacité, sa sécurité de concurrence et d'autres fonctionnalités. Le langage Go est connu pour son écosystème solide avec de nombreux excellents projets open source. Cet article présentera cinq projets open source sélectionnés en langage Go et amènera les lecteurs à explorer le monde des projets open source en langage Go. KubernetesKubernetes est un moteur d'orchestration de conteneurs open source pour l'automatisation

Utilisation de ZooKeeper et Curator pour la coordination et la gestion distribuées dans Beego Utilisation de ZooKeeper et Curator pour la coordination et la gestion distribuées dans Beego Jun 22, 2023 pm 09:27 PM

Avec le développement rapide d'Internet, les systèmes distribués sont devenus l'une des infrastructures de nombreuses entreprises et organisations. Pour qu’un système distribué fonctionne correctement, il doit être coordonné et géré. À cet égard, ZooKeeper et Curator sont deux outils qui valent la peine d'être utilisés. ZooKeeper est un service de coordination distribué très populaire qui peut nous aider à coordonner l'état et les données entre les nœuds d'un cluster. Curator est une encapsulation de ZooKeeper

Go : les essentiels du développement linguistique : 5 recommandations de framework populaires Go : les essentiels du développement linguistique : 5 recommandations de framework populaires Mar 24, 2024 pm 01:15 PM

"Go Language Development Essentials : 5 recommandations de framework populaires" En tant que langage de programmation rapide et efficace, le langage Go est favorisé par de plus en plus de développeurs. Afin d'améliorer l'efficacité du développement et d'optimiser la structure du code, de nombreux développeurs choisissent d'utiliser des frameworks pour créer rapidement des applications. Dans le monde du langage Go, il existe de nombreux excellents frameworks parmi lesquels choisir. Cet article présentera 5 frameworks de langage Go populaires et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre et utiliser ces frameworks. 1.GinGin est un framework Web léger avec une rapidité

Déploiement et gestion de production à l'aide de Docker et Kubernetes dans Beego Déploiement et gestion de production à l'aide de Docker et Kubernetes dans Beego Jun 23, 2023 am 08:58 AM

Avec le développement rapide d’Internet, de plus en plus d’entreprises ont commencé à migrer leurs applications vers des plateformes cloud. Docker et Kubernetes sont devenus deux outils très populaires et puissants pour le déploiement et la gestion d'applications sur les plateformes cloud. Beego est un framework Web développé à l'aide de Golang. Il fournit des fonctions riches telles que le routage HTTP, la superposition MVC, la journalisation, la gestion de la configuration et la gestion des sessions. Dans cet article, nous expliquerons comment utiliser Docker et Kub

Utiliser JWT pour implémenter l'authentification dans Beego Utiliser JWT pour implémenter l'authentification dans Beego Jun 22, 2023 pm 12:44 PM

Avec le développement rapide d'Internet et de l'Internet mobile, de plus en plus d'applications nécessitent une authentification et un contrôle des autorisations, et JWT (JSON Web Token), en tant que mécanisme léger d'authentification et d'autorisation, est largement utilisé dans les applications WEB. Beego est un framework MVC basé sur le langage Go, qui présente les avantages d'efficacité, de simplicité et d'évolutivité. Cet article explique comment utiliser JWT pour implémenter l'authentification dans Beego. 1. Introduction à JWT JSONWebToken (JWT) est un

See all articles