Giter Site home page Giter Site logo

wikipedia-django's Introduction

Wikipedia (Django)

Project Description

Wikipedia (Django) is a basic clone of Wikipedia, a free online encyclopedia that is widely used around the world. However, instead of using Wikitext to store encyclopedia entries, Markdown is used instead.

Content

1. Index Page

Picture of Index Page The Index Page of Wikipedia (Django) shows a list of all the entries that can be found on the web application.

Clicking any of of the entries will bring up the desired page.

2. Entry Page

Picture of an Encyclopedia Entry Page If the Entry Page is valid, the User will be brought to the entry, with information about the topic of the page, along with an Edit Button to edit the page. If the page contains any references to topics with existing entry pages (as it is shown being highlighted in blue), Users can click into these entry pages as well.

Picture of Invalid Entry Page However, if the Page is invalid, or doesn't exist, the User will be shown an Error Page and informed of the issue as shown above.

3. Search

Picture of Search Results Every page on the web application has a navigation bar on the left, which contains a few links and a search box. If the query made by the User matches an existing entry, the User will be redirected to the corresponding entry.

However, if there isn't an exact match, the User will be brought to a page filled with search results that have the User's query as a substring, as shown above. Clicking any of the entries listed in the search results will also bring the User to the desired entry.

4. New Page

Picture of Creating a New Entry The sidebar contains a link to a page that allows Users to create new encyclopedia entries for topics that are not yet, existing. Users can then provide information on the title and content of the entry in the fields provided.

Picture of Error However, if the User attempts to create an entry for an existing topic, they will be redirected to a page with an error message, informing them of such.

5. Edit Page

Picture of Edit Page Clicking "Edit" on any entry will bring the User to a page that contains the existing markdown content of the entry, allowing the User to edit the content as they like. However, the User is prevented from editing the title of the entry.

After the edits are saved, the User will then be redirected back to the corresponding entry page.

6. Random Page

Similarly, the sidebar contains a link that will bring the User to one out of all the existing entries in the web application randomly.

How to Use

Django, Python-Markdown2 has to be installed before trying to use this web application. Running python3 manage.py runserver will allow you to run the code on a local server.

Learning Outcomes

  • Learnt and Familiarised with the Django Framework
  • Learnt about Django Templating
  • Learnt how to use filters within Django Templates
  • Learnt about the HyperText Transfer Protocol (HTTP) requests and responses. Specifically, GET and POST requests.
  • Learnt about URL Routes
  • Learnt how to write and use Django Forms
  • Learnt about Sessions to store data for Users.
  • Learnt about the Bootstrap Framework.

Video Link

https://youtu.be/8Dw67lThVFY

wikipedia-django's People

Contributors

xuanniee avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.