FlaskBB is a Forum Software written in Python using the micro framework Flask.

Overview

FlaskBB

Build Status codecov requires License flaskbb@freenode

FlaskBB is a Forum Software written in Python using the micro framework Flask.

Currently, following features are implemented:

  • Private Messages
  • Admin Interface
  • Group based permissions
  • Markdown Support
  • Topic Tracker
  • Unread Topics/Forums
  • i18n Support
  • Completely Themeable
  • Plugin System
  • Command Line Interface

The official forums which are powered by FlaskBB can be reached via forums.flaskbb.org.

Quickstart

For a complete installation guide please visit the installation documentation here.

This is how you set up an development instance of FlaskBB:

  • Create a virtualenv
  • Configuration
    • make devconfig
  • Install dependencies and FlaskBB
    • make install
  • Run the development server
    • make run
  • Visit localhost:5000

License

FlaskBB is licensed under the BSD License.

Links

Comments
  • Plugin System

    Plugin System

    I was just thinking about our plugin system after I have read @justanr comment on #182 issue about just pip installing a plugin. At the moment, we use a homegrown plugin system where you simply place the plugins in the plugins/ folder and disable them by placing a DISABLED file in the plugins folder.

    The more I think about plugins that you can just install with pip the more I like the idea. Below I have listed a few pros/cons about both systems that came to my mind:

    Current Plugin System:

    • (-) No dependency management
    • (-) No version management (what to do upon a new FlaskBB release, that deprecates stuff?)
    • (-) No "central" repository/infrastructure available (can be implemented)
    • (+) Easy to install and enable

    pip/PyPI based system:

    • (+) Dependency management - a plugin can define the dependencies in the setup.py file
    • (+) Version management
    • (+) Infrastructure already available (PyPI)
    • (~) Installation of plugins (some might prefer this method over dropping them into a folder)
    • (?) How to say which plugins you want to have enabled and which not without uninstalling them?

    These are just some random thoughts at the moment, but what do you think about that?

    discussion 
    opened by sh4nks 35
  • Can someone tell me what I am doing wrong please.

    Can someone tell me what I am doing wrong please.

    I tried using both the master and the new-theme branch, I tried using sqllite, and postgresql and I keep getting this error when running:

    (flaskbb) [[email protected] uwsgi]# tail uw* File "/home/flaskbb/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 186, in reraise raise value.with_traceback(tb) File "/home/flaskbb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context context) File "/home/flaskbb/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 507, in do_execute cursor.execute(statement, parameters) sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: settings [SQL: 'SELECT settings."key" AS settings_key, settings.value AS settings_value, settings.settingsgroup AS settings_settingsgroup, settings.name AS settings_name, settings.description AS settings_description, settings.value_type AS settings_value_type, settings.extra AS settings_extra \nFROM settings'] (Background on this error at: http://sqlalche.me/e/e3q8) [pid: 10633|app: 0|req: 1/1] 192.168.1.2 () {50 vars in 842 bytes} [Sat Apr 28 14:28:40 2018] GET / => generated 0 bytes in 910 msecs (HTTP/1.1 500) 0 headers in 0 bytes (0 switches on core 0) announcing my loyalty to the Emperor... Sat Apr 28 14:28:41 2018 - [emperor] vassal flaskbb.ini is now loyal (flaskbb) [[email protected] uwsgi]#

    it seems setup is not creating all of the correct tables. I am doing it by the book I think. I dont know where I am going wrong. Help thanks!

    opened by eurabilis 27
  • CSRF error

    CSRF error

    One (and only one) of my users says that he is receiving a CSRF error every time he tries to login. He has tried multiple browsers, private windows, clearing cache, flushing DNS, using wifi vs. LTE, and using different devices.

    bug info needed 
    opened by haliphax 21
  • Allow guest to posts (fixes #343)

    Allow guest to posts (fixes #343)

    This is an attempt to fix the immediate errors that result when a guest is allowed to reply/post and actually tries to do so. While I don’t think there would be many forums that would allow guests to post (and we should therefore not spend too much time working on this), I do think that given the current permission system, #343 is a bug that should be fixed.

    Now, it is arguable whether it is a good idea to save "" as username and None as user_id, but I wanted to get some input first, hence this pull request. (By the way: If you prefer discussing in the issue or squashing the commits before making the pull request, just tell me that. I’m completely new to both Git and Github.)

    Alternative approach It might be more suitable to make Guest inherit from User and create a standard (non-deletable?) guest user that these posts are then assigned to. In that case, we could maybe also deal with the problem of the username in that a Guest class has a username attribute that when retrieved actually calls Babel’s gettext function, so it can be translated. But then: How do we know that when we load a user from the database, it should be instantiated as Guest, rather than as User? So, I think this solution would cause a bit more of a headache than it’s worth.

    Left to do with the current approach The "" (not) showing up in the forums for guest posts look ugly at the very least. I just had the following idea: Since everyone else has to have a username that is at least one character long, we might actually check in the template for "" as username and dynamically replace it with _("Guest").

    One last thing Before I forget: The first commit "Mismatched parentheses" (flaskbb/management/views.py) has nothing to do with this, but also caused a 500 when trying to delete a standard group (id < 6). I hope it’s presence is not a problem.

    opened by shunju 20
  • Reimplement Permissions system

    Reimplement Permissions system

    Not a full pull request, but wanting to submit for proposals and feedback. I'm current contemplating the best way of disentangling the various flaskbb.utils.permissions helpers from the handful of templates they're used in.

    I'll rebase/squash the commits down into one once this is finalized.

    • [x] Implement basic permission structure
    • [x] Remove current permissions from templates -- ~~waiting on #145~~
    • [x] More exhaustive testing (manual QA needed)
    opened by justanr 19
  • Feature request: Allow admin to disable memberlist and newest user / Force login with email

    Feature request: Allow admin to disable memberlist and newest user / Force login with email

    …for security reasons obviously. Hacking passwords is a lot easier if you know the usernames. And knowing who has elevated privileges makes this even cooler. Sure, request limiting makes brute-forcing harder, but IPs can be spoofed, Tor can be used and some users just choose some really stupid passwords.

    Two ideas: Either have options for disabling the two on the admin panel or move it to a plug-in.

    An alternative that should work even better (since usernames but not email addresses (?) can also be obtained by crawling the forums) – and that could be implemented independently: Force users to login with their email address instead of with the username.

    discussion hook 
    opened by shunju 18
  • Improvement 172 adds recaptcha for login and forgot_password forms

    Improvement 172 adds recaptcha for login and forgot_password forms

    issue #172 Adds Recaptcha to prevent brute force attacks. Is only enabled when RECAPTCHA_ENABLED is True

    • [x] Login form recaptcha
    • [x] Forgot password form.

    p.s. first pull request ever so please correct me if I am doing something obviously wrong much appreciate it.

    opened by abshkd 16
  • Bricked forum section

    Bricked forum section

    Hello, i have a forum section which started returning an Internal Server error each time anyone tries to browse it. I made no changes to the code pulled from github.

    2017-04-29 22:00:26,183 ERROR: Exception on /forum/8-coffee [GET] [in /usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/app.py:1560]
    Traceback (most recent call last):
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask_themes2/__init__.py", line 138, in render_theme_template
        **context)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/templating.py", line 133, in render_template
        return _render(ctx.app.jinja_env.get_or_select_template(template_name_or_list),
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/jinja2/environment.py", line 869, in get_or_select_template
        return self.get_template(template_name_or_list, parent, globals)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/jinja2/environment.py", line 830, in get_template
        return self._load_template(name, self.make_globals(globals))
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/jinja2/environment.py", line 804, in _load_template
        template = self.loader.load(self, name, globals)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/jinja2/loaders.py", line 113, in load
        source, filename, uptodate = self.get_source(environment, name)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/templating.py", line 57, in get_source
        return self._get_source_fast(environment, template)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/templating.py", line 85, in _get_source_fast
        raise TemplateNotFound(template)
    jinja2.exceptions.TemplateNotFound: _themes/aurora/forum/forum.html
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/app.py", line 1982, in wsgi_app
        response = self.full_dispatch_request()
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/app.py", line 1614, in full_dispatch_request
        rv = self.handle_user_exception(e)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/app.py", line 1517, in handle_user_exception
        reraise(exc_type, exc_value, tb)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/_compat.py", line 33, in reraise
        raise value
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/app.py", line 1612, in full_dispatch_request
        rv = self.dispatch_request()
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/app.py", line 1598, in dispatch_request
        return self.view_functions[rule.endpoint](**req.view_args)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask_allows/allows.py", line 98, in allower
        return f(*args, **kwargs)
      File "/usr/home/flask/flaskbb/flaskbb/forum/views.py", line 100, in view_forum
        topics=topics, forumsread=forumsread,
      File "/usr/home/flask/flaskbb/flaskbb/utils/helpers.py", line 71, in render_template
        return render_theme_template(theme, template, **context)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask_themes2/__init__.py", line 141, in render_theme_template
        return render_template(template_name, **context)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/templating.py", line 134, in render_template
        context, ctx.app)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/templating.py", line 116, in _render
        rv = template.render(context)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/jinja2/environment.py", line 1008, in render
        return self.environment.handle_exception(exc_info, True)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/jinja2/environment.py", line 780, in handle_exception
        reraise(exc_type, exc_value, tb)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/jinja2/_compat.py", line 37, in reraise
        raise value.with_traceback(tb)
      File "/usr/home/flask/flaskbb/flaskbb/templates/forum/forum.html", line 4, in top-level template code
        {% extends theme("layout.html") %}
      File "/usr/home/flask/flaskbb/flaskbb/templates/layout.html", line 167, in top-level template code
        {% block content %}
      File "/usr/home/flask/flaskbb/flaskbb/templates/forum/forum.html", line 70, in block "content"
        {% if topic|topic_is_unread(topicread, current_user, forumsread) %}
      File "/usr/home/flask/flaskbb/flaskbb/utils/helpers.py", line 265, in topic_is_unread
        if topic.last_post.date_created < read_cutoff:
    AttributeError: 'NoneType' object has no attribute 'date_created'
    
    
    
    bug 
    opened by f4ncyusername 14
  • Rename topics is not possible

    Rename topics is not possible

    Hi everyone! First of all thank you for such a good project, I'm totally in love :)

    I've noticed that there is no possibility to change the name of topics while editing it. Neither topic-starter nor moderator/admin can do this.

    I suspect that this is because of beautiful slugs (e.g. /8-flaskbb-is-cool). I think there is a reason why mature forums don't use topic names in urls but they do use only IDs.

    Is it possible to get the possibility to change topic names in FlaskBB?

    Please, correct me if I am mistaken.

    Thank you!

    opened by khorolets 13
  • request push file to rtl styles

    request push file to rtl styles

    Hi,

    https://gist.github.com/TechComet/ecffee1b427d285bb3ed050da399ba6e push this file to /flaskbb/flaskbb/themes/aurora/static/css

    please add option to change default styles file (install step)

    info needed 
    opened by TechComet 12
  • Pluggy based Plugins

    Pluggy based Plugins

    Addresses #183

    WIP PR for adding pluggy based plugins to FlaskBB.

    Currently this includes:

    • Defining some specs for plugins to implement (by no means exhaustive)
    • Creates manager and loads plugins when application is created -- after extensions
    • Creates a DB interface for toggling plugins enabled
    • Creates KV store in the database for plugins to store settings in so they don't need to populate the settings table -- these appear as a dictionary like interface on the plugin registry instance for the plugin (that's all the collection class and association proxy stuff in the PluginStore/PluginRegistry relationship)

    I'm having some issues with loading CLI commands from plugins because the Flask-Click bridge only creates an application when absolutely needed, however plugins are loaded on application creation, so even with overriding the _load_plugin_commands hook in the FlaskGroup doesn't work as the FlaskBB instance hasn't been created yet.

    Next steps here are:

    • Documentation for writing pluggy based plugins
    • Converting Portal to pluggy style
    • Add hooks for rendering HTML fragments into templates at certain points
    • Add hooks for pre/post handling on posting, topic, message, etc.
    • Figure out how to load CLI commands.
    enhancement plugin 
    opened by justanr 12
  • Bump json5 from 2.2.1 to 2.2.3 in /flaskbb/themes/aurora

    Bump json5 from 2.2.1 to 2.2.3 in /flaskbb/themes/aurora

    Bumps json5 from 2.2.1 to 2.2.3.

    Release notes

    Sourced from json5's releases.

    v2.2.3

    v2.2.2

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).
    Changelog

    Sourced from json5's changelog.

    v2.2.3 [code, diff]

    v2.2.2 [code, diff]

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).
    Commits
    • c3a7524 2.2.3
    • 94fd06d docs: update CHANGELOG for v2.2.3
    • 3b8cebf docs(security): use GitHub security advisories
    • f0fd9e1 docs: publish a security policy
    • 6a91a05 docs(template): bug -> bug report
    • 14f8cb1 2.2.2
    • 10cc7ca docs: update CHANGELOG for v2.2.2
    • 7774c10 fix: add proto to objects and arrays
    • edde30a Readme: slight tweak to intro
    • 97286f8 Improve example in readme
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
  • Bump certifi from 2022.5.18.1 to 2022.12.7

    Bump certifi from 2022.5.18.1 to 2022.12.7

    Bumps certifi from 2022.5.18.1 to 2022.12.7.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies python 
    opened by dependabot[bot] 0
  • When I install a minimal plugin, it breaks the portal

    When I install a minimal plugin, it breaks the portal

    Hi, I wrote a super simple plugin which adds an atom feed to flaskbb: https://git.sr.ht/~exelotl/flaskbb-plugin-atom

    If I run pip install flaskbb-plugin-atom (in my virtualenv) then the flaskbb portal plugin stops working, as pictured below:

    Screenshot from 2022-12-06 02-17-21

    If I remove my plugin with pip uninstall flaskbb-plugin-atom then the portal starts working again.

    This would lead me to believe there's something wrong with my plugin, but it's about as simple as you can get (just a route, a template, and a couple of settings - made from the cookiecutter template). I also don't understand how this could happen when my plugin isn't even enabled.

    Have I done something wrong or could this be a deeper issue somewhere?

    opened by exelotl 1
  • In moderation mode,

    In moderation mode, "select topic" checkbox doesn't work

    When you go to a board and go into moderation mode, the individual "select topic" checkboxes do not respond to user input (clicking them doesn't change their state).

    However, you can change their state programatically in the dev tools (e.g. mycheckbox.checked = true).

    Also, the "select all" checkbox works fine (changes the state of all checkboxes)

    bug 
    opened by exelotl 3
  • Bump pillow from 9.1.1 to 9.3.0

    Bump pillow from 9.1.1 to 9.3.0

    Bumps pillow from 9.1.1 to 9.3.0.

    Release notes

    Sourced from pillow's releases.

    9.3.0

    https://pillow.readthedocs.io/en/stable/releasenotes/9.3.0.html

    Changes

    ... (truncated)

    Changelog

    Sourced from pillow's changelog.

    9.3.0 (2022-10-29)

    • Limit SAMPLESPERPIXEL to avoid runtime DOS #6700 [wiredfool]

    • Initialize libtiff buffer when saving #6699 [radarhere]

    • Inline fname2char to fix memory leak #6329 [nulano]

    • Fix memory leaks related to text features #6330 [nulano]

    • Use double quotes for version check on old CPython on Windows #6695 [hugovk]

    • Remove backup implementation of Round for Windows platforms #6693 [cgohlke]

    • Fixed set_variation_by_name offset #6445 [radarhere]

    • Fix malloc in _imagingft.c:font_setvaraxes #6690 [cgohlke]

    • Release Python GIL when converting images using matrix operations #6418 [hmaarrfk]

    • Added ExifTags enums #6630 [radarhere]

    • Do not modify previous frame when calculating delta in PNG #6683 [radarhere]

    • Added support for reading BMP images with RLE4 compression #6674 [npjg, radarhere]

    • Decode JPEG compressed BLP1 data in original mode #6678 [radarhere]

    • Added GPS TIFF tag info #6661 [radarhere]

    • Added conversion between RGB/RGBA/RGBX and LAB #6647 [radarhere]

    • Do not attempt normalization if mode is already normal #6644 [radarhere]

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies python 
    opened by dependabot[bot] 0
  • Bump loader-utils from 2.0.2 to 2.0.4 in /flaskbb/themes/aurora

    Bump loader-utils from 2.0.2 to 2.0.4 in /flaskbb/themes/aurora

    Bumps loader-utils from 2.0.2 to 2.0.4.

    Release notes

    Sourced from loader-utils's releases.

    v2.0.4

    2.0.4 (2022-11-11)

    Bug Fixes

    v2.0.3

    2.0.3 (2022-10-20)

    Bug Fixes

    • security: prototype pollution exploit (#217) (a93cf6f)
    Changelog

    Sourced from loader-utils's changelog.

    2.0.4 (2022-11-11)

    Bug Fixes

    2.0.3 (2022-10-20)

    Bug Fixes

    • security: prototype pollution exploit (#217) (a93cf6f)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
Releases(v2.1.0)
  • v2.1.0(Sep 9, 2021)

    Version 2.1.0

    Released September 9th, 2021

    The most notable changes are following:

    • Reimplemented User views using services
    • Services for changing email, password, settings and details
    • Hooks for email, password, settings and details updates
    • Hook for user profile sidebar links
    • Added helper for generating dynamic navbar content
    • Gender is now a text field rather than a dropdown
    • Upgrade to Flask 2.0 and SQLAlchemy 1.4
    • Upgrade Bootstrap 3 to Bootstrap 5
    • Remove JQuery dependency by rewriting some parts to be plain JS
    • Replace Bootstrap-Markdown editor with GitHub-Markdown-Toolbar
    • ... and lots of other fixes and improvements
    Source code(tar.gz)
    Source code(zip)
  • v2.0.0(May 16, 2018)

    Version 2.0.0

    Released on May 16th, 2018.

    • Improved management panel load time by requesting celery status async (PR #429)
    • Migrated FlaskBB internal behavior to use plugin hook system (PRs #369, #413, #419, #423, #426, #435, #436)
    • Migrated behavior in flaskbb.auth from living in route handlers and into services (PRs #421, #424)
    • Improved emoji support (PR #417)
    • Migrated private messages into a plugin (PR #414)
    • Fixed issue where user could not re-select having the default theme (PR #387)
    • Fixed issue where a reinstall would attempt to drop the entire database instead of just the tables associated with FlaskBB (PR #364)
    • Added ability to hide and unhide topics and posts, preventing unprivileged users from viewing them (PR #325)
    • Fixed issue where password was not required when editing a user in the admin panel (PR #321)
    • Migrated from Flask-Plugins to Pluggy as plugin system for plugins. Plugins are now loaded via entry points and thus have to be installed into the same environment as FlaskBB. During this migration we also moved the portal plugin into its own python package which can be installed via pip install flaskbb-plugin-portal. (PR #311)
    • Adds the functionality to "soft delete" posts and topics. (PR #325)
    • Improve logging. (PR #327)
    • Prefixes migrations with a timestamp which will sort them by creation date. (PR #353)
    • Transform views into Class-based Views. (PR #324)
    • Drop the tables instead of dropping the database when uninstalling FlaskBB. (PR #364)
    • Create the database using SQLAlchemy's db.create_all and stamp it as 'latest' instead of going through all migrations.
    • Fixes a bug that prevented users to activate their accounts via the form input.
    • Fixes a translations bug that wouldn't take the territory code into account when choosing a language (#299).
    • Fixes a bug which would not show all conversations in the conversations view.
    • Fixes a bug that made a forum section inaccessible when the last_post_id of a topic was set to None.
    • Various translations updated.
    • Multiple permission fixes and various other fixes.
    Source code(tar.gz)
    Source code(zip)
  • v1.0(May 5, 2017)

    This is the first release of FlaskBB.

    There are still a few rough edges here and there but overall it is running quite stable. I hope that with this release I can accelerate the development of FlaskBB which stagnated a bit lately.

    Features

    It ships with following features:

    • Private Messages
    • Admin Interface
    • Group based permissions
    • Markdown Support
    • Topic Tracker
    • Unread Topics/Forums
    • i18n Support
    • Completely Themeable
    • Plugin System
    • Command Line Interface

    Installation

    The official installation guide is located here. If you have any questions, do not hesitate to open a new topic on our forums. The GitHub Issue tracker should be used for bugs and features.

    Source code(tar.gz)
    Source code(zip)
Simple integration of Flask and WTForms, including CSRF, file upload and Recaptcha integration.

Flask-WTF Simple integration of Flask and WTForms, including CSRF, file upload, and reCAPTCHA. Links Documentation: https://flask-wtf.readthedocs.io/

WTForms 1.3k Jan 04, 2023
Full control of form rendering in the templates.

django-floppyforms Full control of form rendering in the templates. Authors: Gregor Müllegger and many many contributors Original creator: Bruno Renié

Jazzband 811 Dec 01, 2022
Streaming parser for multipart/form-data written in Python

Streaming multipart/form-data parser streaming_form_data provides a Python parser for parsing multipart/form-data input chunks (the encoding used when

Siddhant Goel 112 Dec 29, 2022
Easy and free contact form on your HTML page. No backend or JS required.

Easy and free contact form on your HTML page. No backend or JS required. 🚀 💬

0xDEADF00D 8 Dec 16, 2022
A set of high-level abstractions for Django forms

django-formtools Django's "formtools" is a set of high-level abstractions for Django forms. Currently for form previews and multi-step forms. This cod

Jazzband 619 Dec 23, 2022
Simple integration of Flask and WTForms, including CSRF, file upload and Recaptcha integration.

Flask-WTF Simple integration of Flask and WTForms, including CSRF, file upload, and reCAPTCHA. Links Documentation: https://flask-wtf.readthedocs.io/

WTForms 1.3k Jan 04, 2023
Bootstrap 4 integration with Django.

django-bootstrap 4 Bootstrap 4 integration for Django. Goal The goal of this project is to seamlessly blend Django and Bootstrap 4. Requirements Pytho

Zostera B.V. 979 Dec 26, 2022
A CBV to handle multiple forms in one view

django-shapeshifter A common problem in Django is how to have a view, especially a class-based view that can display and process multiple forms at onc

Kenneth Love 167 Nov 26, 2022
A fresh approach to autocomplete implementations, specially for Django. Status: v3 stable, 2.x.x stable, 1.x.x deprecated. Please DO regularely ping us with your link at #yourlabs IRC channel

Features Python 2.7, 3.4, Django 2.0+ support (Django 1.11 (LTS), is supported until django-autocomplete-light-3.2.10), Django (multiple) choice suppo

YourLabs 1.7k Jan 01, 2023
Automate your google form here!

Google Form Filler (GFF) - Automate your google form here! About The idea of this project came from my online lectures as one of my professors takes a

Jay Thorat 13 Jan 05, 2023
Bootstrap 3 integration with Django.

django-bootstrap3 Bootstrap 3 integration for Django. Goal The goal of this project is to seamlessly blend Django and Bootstrap 3. Want to use Bootstr

Zostera B.V. 2.3k Dec 24, 2022
A platform independent django form serializer

django-remote-forms A package that allows you to serialize django forms, including fields and widgets into Python dictionary for easy conversion into

WiserTogether, Inc. 219 Sep 20, 2022
A flexible forms validation and rendering library for Python.

WTForms WTForms is a flexible forms validation and rendering library for Python web development. It can work with whatever web framework and template

WTForms 1.4k Dec 31, 2022
The best way to have DRY Django forms. The app provides a tag and filter that lets you quickly render forms in a div format while providing an enormous amount of capability to configure and control the rendered HTML.

django-crispy-forms The best way to have Django DRY forms. Build programmatic reusable layouts out of components, having full control of the rendered

4.6k Dec 31, 2022
The best way to have DRY Django forms. The app provides a tag and filter that lets you quickly render forms in a div format while providing an enormous amount of capability to configure and control the rendered HTML.

django-crispy-forms The best way to have Django DRY forms. Build programmatic reusable layouts out of components, having full control of the rendered

4.6k Jan 05, 2023
FlaskBB is a Forum Software written in Python using the micro framework Flask.

FlaskBB is a Forum Software written in Python using the micro framework Flask.

FlaskBB 2.3k Dec 30, 2022
A Python HTML form library.

Deform Introduction Use cases Installation Example Status Projects using Deform Community and links Introduction Deform is a Python form library for g

Pylons Project 391 Jan 03, 2023
Tweak the form field rendering in templates, not in python-level form definitions. CSS classes and HTML attributes can be altered.

django-widget-tweaks Tweak the form field rendering in templates, not in python-level form definitions. Altering CSS classes and HTML attributes is su

Jazzband 1.8k Jan 06, 2023