Heim Backend-Entwicklung Golang Beego-Entwicklungspraxis – vom Verlagsblog zum Online-Einkaufszentrum

Beego-Entwicklungspraxis – vom Verlagsblog zum Online-Einkaufszentrum

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

Beego ist ein Webentwicklungs-Framework, das auf der Go-Sprache basiert. Es ist einfach zu verwenden, effizient, stabil und wird von immer mehr Entwicklern bevorzugt. In diesem Artikel stellen wir vor, wie Sie das Beego-Framework von der Veröffentlichung eines Blogs bis zum Aufbau eines Online-Einkaufszentrums verwenden.

1. Blog-Veröffentlichung

  1. Installation und Konfiguration von Beego

Zuerst müssen wir das Beego-Framework in der lokalen Umgebung installieren und konfigurieren. Es kann mit dem folgenden Befehl installiert werden:

go get -u github.com/astaxie/beego
go get -u github.com/beego/bee
Nach dem Login kopieren

Nach Abschluss der Installation erstellen Sie mit dem Befehl bee new ein neues Projekt wie folgt:

bee new blog
Nach dem Login kopieren

Im generierten Projekt gehört die Datei app.conf im Konfigurationsordner Beego Hauptkonfigurationsdatei. Wir können darin Ports, Datenbanken, Protokolle usw. konfigurieren.

  1. Code schreiben

Im generierten Projekt sind die Dateien im Controller-Ordner der Controller-Code von Beego, in den wir die Geschäftslogik schreiben können, die wir benötigen. Zum Beispiel müssen wir ein Blog-Modell und einen Controller erstellen:

// 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)
}
Nach dem Login kopieren

Im obigen Code erstellen wir ein Blog-Modell und implementieren die Logik zum Abrufen aller Blogs und zum Hinzufügen neuer Blogs im Controller.

  1. View-Rendering

Beego verwendet die Go-Sprachvorlagen-Engine, um View-Rendering zu implementieren. View-Dateien werden normalerweise im View-Ordner gespeichert. In diesem Beispiel können wir eine blog.tpl-Datei erstellen und die Seite rendern, um die Blog-Liste und das Formular zum Hinzufügen neuer Blogs anzuzeigen:

<!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>
Nach dem Login kopieren

Unter anderem wird die {{range .blogs}}-Anweisung zum Rendern aller Blogs verwendet In einer Schleife werden die Anweisungen {{.Title }}, {{.Content}} und {{.Created}} verwendet, um bestimmte Blog-Informationen darzustellen.

  1. Führen Sie das Programm aus

Sie müssen eine Datenbank erstellen oder konfigurieren, bevor Sie das Programm ausführen. Sie können die Datenbankverbindungsinformationen in der Datei app.conf festlegen. Verwenden Sie nach Abschluss der Konfiguration den folgenden Befehl, um das Programm auszuführen:

bee run
Nach dem Login kopieren
Nach dem Login kopieren

Besuchen Sie localhost:8080/blog im Browser, um die Blogliste anzuzeigen.

2. Online-Einkaufszentrum

Zusätzlich zur Blog-Veröffentlichungsfunktion können wir auch das Beego-Framework verwenden, um ein Online-Einkaufszentrum zu entwickeln. Hier ist ein einfaches Beispiel.

  1. Beego-Installation und -Konfiguration

Ebenso müssen wir zuerst das Beego-Framework in der lokalen Umgebung installieren und konfigurieren. In diesem Beispiel verwenden wir den folgenden Befehl zur Installation:

go get github.com/astaxie/beego
go get github.com/beego/bee
Nach dem Login kopieren

und erstellen ein neues Projekt über die Biene Neuer Befehl:

bee new shop
Nach dem Login kopieren

Im generierten Projekt ist die Datei app.conf im Konfigurationsordner die Hauptkonfigurationsdatei von Beego. Wir können darin Ports, Datenbanken, Protokolle usw. konfigurieren.

  1. Code schreiben

Im generierten Projekt sind die Dateien im Controller-Ordner der Controller-Code von Beego, in den wir die Geschäftslogik schreiben können, die wir benötigen.

// 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()
}
Nach dem Login kopieren

Im obigen Code haben wir ein Warenmodell erstellt und die Logik zum Abrufen aller Produkte und zum Hinzufügen neuer Produkte im Controller implementiert. Die Logik zur Anzeige der Homepage ist im MainController implementiert.

  1. Datenbankbetrieb

Beim Hinzufügen und Erhalten von Produkten müssen wir eine Verbindung zur Datenbank herstellen, was über Beegos eigenes ORM erreicht werden kann. Erstellen Sie eine neue Datenbank.go-Datei im Modellordner, um die Datenbankverbindung zu initialisieren:

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)
}
Nach dem Login kopieren

Beim Hinzufügen neuer Produkte und beim Erhalten von Produkten können wir dies über den folgenden Code implementieren:

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
}
Nach dem Login kopieren
  1. View-Rendering

Beego verwendet das Go Sprache Zur Implementierung der Ansichtswiedergabe wird eine Vorlagen-Engine verwendet. Ansichtsdateien werden normalerweise im Ansichtenordner gespeichert. In diesem Beispiel können wir eine index.tpl-Datei erstellen, um die Homepage des Online-Einkaufszentrums anzuzeigen:

<!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>
Nach dem Login kopieren

Darunter wird die {{range .goods}}-Anweisung verwendet, um alle Produkte in einer Schleife darzustellen.

  1. Führen Sie das Programm aus

Nachdem Sie mit dem Schreiben des Codes und der Vorlage fertig sind, verwenden Sie den folgenden Befehl, um das Programm zu starten:

bee run
Nach dem Login kopieren
Nach dem Login kopieren

Besuchen Sie localhost:8080 im Browser, um die Homepage des Online-Einkaufszentrums anzuzeigen, Produkte hinzuzufügen und alle Produkte anzuzeigen. Sie können eine eigenständige ausführbare Datei generieren, indem Sie den folgenden Befehl ausführen:

bee pack
Nach dem Login kopieren

Das Obige ist der vollständige praktische Prozess der Verwendung des Beego-Frameworks von der Veröffentlichung eines Blogs bis hin zu einem Online-Einkaufszentrum. Ich hoffe, dass es für Entwickler, die lernen, hilfreich ist Beego.

Das obige ist der detaillierte Inhalt vonBeego-Entwicklungspraxis – vom Verlagsblog zum Online-Einkaufszentrum. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Verwendung von Prometheus und Grafana zur Implementierung von Überwachung und Alarmierung in Beego Verwendung von Prometheus und Grafana zur Implementierung von Überwachung und Alarmierung in Beego Jun 22, 2023 am 09:06 AM

Mit dem Aufkommen von Cloud Computing und Microservices hat die Anwendungskomplexität zugenommen. Daher werden Überwachung und Diagnose zu einer wichtigen Entwicklungsaufgabe. In dieser Hinsicht sind Prometheus und Grafana zwei beliebte Open-Source-Überwachungs- und Visualisierungstools, die Entwicklern helfen können, Anwendungen besser zu überwachen und zu analysieren. In diesem Artikel wird untersucht, wie Sie Prometheus und Grafana verwenden, um Überwachung und Alarmierung im Beego-Framework zu implementieren. 1. Einführung Beego ist eine Open-Source-Webanwendung für die schnelle Entwicklung.

Verwenden Sie Google Analytics, um Website-Daten in Beego zu zählen Verwenden Sie Google Analytics, um Website-Daten in Beego zu zählen Jun 22, 2023 am 09:19 AM

Mit der rasanten Entwicklung des Internets ist die Nutzung von Webanwendungen immer häufiger geworden. Die Überwachung und Analyse der Nutzung von Webanwendungen ist zu einem Schwerpunkt von Entwicklern und Website-Betreibern geworden. Google Analytics ist ein leistungsstarkes Website-Analysetool, das das Verhalten von Website-Besuchern verfolgen und analysieren kann. In diesem Artikel wird erläutert, wie Sie Google Analytics in Beego zum Sammeln von Website-Daten verwenden. 1. Um ein Google Analytics-Konto zu registrieren, müssen Sie zunächst Folgendes tun

Fehlerbehandlung in Beego – Anwendungsabstürze verhindern Fehlerbehandlung in Beego – Anwendungsabstürze verhindern Jun 22, 2023 am 11:50 AM

Im Beego-Framework ist die Fehlerbehandlung ein sehr wichtiger Teil, denn wenn die Anwendung nicht über einen korrekten und vollständigen Fehlerbehandlungsmechanismus verfügt, kann dies dazu führen, dass die Anwendung abstürzt oder nicht ordnungsgemäß ausgeführt wird, was sowohl für unsere Projekte als auch für Benutzer gilt sehr ernstes Problem. Das Beego-Framework bietet eine Reihe von Mechanismen, die uns helfen, diese Probleme zu vermeiden und unseren Code robuster und wartbarer zu machen. In diesem Artikel stellen wir die Fehlerbehandlungsmechanismen im Beego-Framework vor und diskutieren, wie sie uns bei der Vermeidung helfen können

Fünf ausgewählte Open-Source-Projekte in der Go-Sprache, mit denen Sie die Welt der Technologie erkunden können Fünf ausgewählte Open-Source-Projekte in der Go-Sprache, mit denen Sie die Welt der Technologie erkunden können Jan 30, 2024 am 09:08 AM

Im heutigen Zeitalter der rasanten technologischen Entwicklung schießen Programmiersprachen wie Pilze nach einem Regenschauer aus dem Boden. Eine der Sprachen, die viel Aufmerksamkeit erregt hat, ist die Go-Sprache, die von vielen Entwicklern wegen ihrer Einfachheit, Effizienz, Parallelitätssicherheit und anderen Funktionen geliebt wird. Die Go-Sprache ist für ihr starkes Ökosystem mit vielen hervorragenden Open-Source-Projekten bekannt. In diesem Artikel werden fünf ausgewählte Open-Source-Projekte für die Go-Sprache vorgestellt und der Leser soll die Welt der Open-Source-Projekte für die Go-Sprache erkunden. KubernetesKubernetes ist eine Open-Source-Container-Orchestrierungs-Engine für die Automatisierung

Verwendung von ZooKeeper und Curator für die verteilte Koordination und Verwaltung in Beego Verwendung von ZooKeeper und Curator für die verteilte Koordination und Verwaltung in Beego Jun 22, 2023 pm 09:27 PM

Mit der rasanten Entwicklung des Internets sind verteilte Systeme zu einer der Infrastrukturen in vielen Unternehmen und Organisationen geworden. Damit ein verteiltes System ordnungsgemäß funktioniert, muss es koordiniert und verwaltet werden. In dieser Hinsicht sind ZooKeeper und Curator zwei lohnenswerte Tools. ZooKeeper ist ein sehr beliebter verteilter Koordinationsdienst, der uns dabei helfen kann, den Status und die Daten zwischen Knoten in einem Cluster zu koordinieren. Curator ist eine Kapselung von ZooKeeper

Go-Grundlagen zur Sprachentwicklung: 5 beliebte Framework-Empfehlungen Go-Grundlagen zur Sprachentwicklung: 5 beliebte Framework-Empfehlungen Mar 24, 2024 pm 01:15 PM

„Grundlagen der Go-Sprachentwicklung: 5 beliebte Framework-Empfehlungen“ Als schnelle und effiziente Programmiersprache wird die Go-Sprache von immer mehr Entwicklern bevorzugt. Um die Entwicklungseffizienz zu verbessern und die Codestruktur zu optimieren, entscheiden sich viele Entwickler für die Verwendung von Frameworks, um Anwendungen schnell zu erstellen. In der Welt der Go-Sprache stehen viele hervorragende Frameworks zur Auswahl. In diesem Artikel werden fünf beliebte Go-Sprach-Frameworks vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern zu helfen, diese Frameworks besser zu verstehen und zu verwenden. 1.GinGin ist ein leichtes Web-Framework mit hoher Geschwindigkeit

Produktionsbereitstellung und -verwaltung mit Docker und Kubernetes in Beego Produktionsbereitstellung und -verwaltung mit Docker und Kubernetes in Beego Jun 23, 2023 am 08:58 AM

Mit der rasanten Entwicklung des Internets haben immer mehr Unternehmen damit begonnen, ihre Anwendungen auf Cloud-Plattformen zu migrieren. Docker und Kubernetes sind zu zwei sehr beliebten und leistungsstarken Tools für die Anwendungsbereitstellung und -verwaltung auf Cloud-Plattformen geworden. Beego ist ein mit Golang entwickeltes Web-Framework, das umfangreiche Funktionen wie HTTP-Routing, MVC-Layering, Protokollierung, Konfigurationsverwaltung und Sitzungsverwaltung bietet. In diesem Artikel behandeln wir die Verwendung von Docker und Kub

Verwendung von JWT zur Implementierung der Authentifizierung in Beego Verwendung von JWT zur Implementierung der Authentifizierung in Beego Jun 22, 2023 pm 12:44 PM

Mit der rasanten Entwicklung des Internets und des mobilen Internets erfordern immer mehr Anwendungen eine Authentifizierung und Berechtigungskontrolle, und JWT (JSON Web Token) wird als einfacher Authentifizierungs- und Autorisierungsmechanismus häufig in WEB-Anwendungen verwendet. Beego ist ein MVC-Framework, das auf der Go-Sprache basiert und die Vorteile von Effizienz, Einfachheit und Skalierbarkeit bietet. In diesem Artikel wird die Verwendung von JWT zur Implementierung der Authentifizierung in Beego vorgestellt. 1. Einführung in JWT JSONWebToken (JWT) ist ein

See all articles