Tried searching. But, what ever Django/Python packages I find, have no development going on.
Including the featured GoFlow : a workflow engine for django. The latest update on this was in sept 2008!
So, are there any Workflow frameworks for Django/Python with active development?
See django-packages:
Workflow
FSM might also work for you
Related
I am new with Django. I need to quickly develop a sophisticated GUI for a Django project. My underlying database is resource description framework (RDF). Is there any Eclipse IDE available for quick Django GUI development? Or is there any other GUI development tool (provides widgets) available for Django based project?
JetBrains has a Product for Python developers with Django support.
Its not for free but you can try it for 30 days.
https://www.jetbrains.com/pycharm/
Django is a web framework. It doesn't have a GUI. Though there are many IDEs that support Django template syntax, none of them will provide any kind of GUI functionality.
As far as IDEs go, Jetbrains is good, Eclipse has pretty decent python support, though I'm a big fan of sublime texts smart simplicity.
As for GUI stuff, perhaps rethink a little here. Django is a web framework that deals best with transactional interaction. It fires you a web page, you fire it a response. The system isn't really a good fit to GUI stuff. Thats not to say it can't play a part. Instead consider splitting it into a client/server product. Both TastyPie and Django Rest Framework are good options for building a RESTful API that can be interrogated by a remote client. You can then build the client using either one of the visual studio suites, or delphi, or if your looking to stay within the python mothership, perhaps PyQT/PySide (Which include a visual form designer) would be more up your alley. I guess you could build djangos ORM into an app (Although personally I'd use SQLAlchemy for that as its more decoupled than djangos ORM), but I'd warn that direct network access to databases isn't generally held to be wise for obvious security reasons, and you need to have a have a hard think about the threading implications if your gui toolkit is multithreaded, because Djangos ORM isn't built with the assumption it'll need to deal with multiple threads over single objects. My 0.02c is use Django to build an API and PyQT (or whateer your comfortable with) for the front end.
GUI is a term more for desktops, frontend is for web, for more see https://en.wikipedia.org/wiki/Graphical_user_interface.
Try any HTML5 WISWYG editor to make frontend (probably responsive) design.
More no this look in https://softwareengineering.stackexchange.com/questions/148489/how-to-develop-front-end-ui-for-my-django-website
I am trying to understand Pinax and plan to use it in my next project.
I have started with a pinax basic project, and now I have something to go with runserver.
Now, I understand that I can customize the initial setup that I got from pinax and customize the profiles, themes, etc as per my requirements.
But is that all that pinax provides ?
I am very confused here, like I want to use the pinax phileo app in my project, so how does pinax helps me do that ?
My Effort :
I searched and found that I have to install it with pip install phileo
Then, add it to INSTALLED_APPS and use it as required.
But what did pinax do in this ?
Pinax has phileo featured on its website, but why ? Since I could have used it just like any other app on my non-pinax django project.
So, my question in a nutshell is :
What does pinax provide after a base project and default templates that come with pinax ?
Right, now it feels like pinax just provides a base project with some apps already working with some default templates. [ That's it ? ]
Then, what about other apps featured on pinax's website that do not come with base projects ?
Please, help clear up the confusion !
Update
My question is somewhat - What is the significance of pinax-ecosystem when we already have them listed somewhere like djangopackages.com ?
You seem to be assuming that unless all of Pinax is useful, Pinax as a project isn't useful. It was never the intention that Pinax be a single thing, all of which you use on a given project.
If all you find helpful is the project layout, that's fine. Pinax suggests a standard project layout (which you can use alone with pinax-project-zero).
If all you find helpful is the pinax-project-account (django-user-accounts and a few other things, already integrated with templates following bootstrap class naming) as a starting point for you site, that's great. Pinax is fundamentally about getting you started sooner and pinax-project-account is a suitable starting point for most sites with user accounts.
Once you have a project, you are free to add any Django apps you want. There's nothing that requires you to use Pinax apps. "So", you ask, "why does Pinax even bother having apps?".
Well, because apps aren't isolated. Reusability isn't just at the level of app but also groups of apps. Take, for example, a waiting list app, an invitations app, a referral code app, a points app, a badges app. Sure these can be developed and used independently.
But if they are developed with the same mind set you can make sure the waiting list app and invitations app and referral code app work well with the user account app (and don't duplicate anything). You can make sure the referral code app plays nicely with the points app and the points app plays nicely with the badges app. You can make sure your forum app doesn't try to do something your moderation app already provides. Or that each app isn't trying to solve avatars its own way.
So Pinax isn't trying to be a "directory" of apps. It's a family of apps, themes and starter projects written with each other in mind.
Pinax is just django with a blend of other django plugins. You have to enable them and set them up individually. To use each individual app within pinax, you have to read that specific app's documentation and set it up appropriately (list of apps and repos which likely contain documentation here: http://pinaxproject.com/ecosystem/)
Some people like pinax but I find that its more of a hassel than a solution. In the end pinax doesn't work out of the box. You have to customize everything, but at the same time you position yourself into using a bundle you dont need. I suggest instead starting a project and installing the packages you need individually, and even finding more here: http://djangopackages.com/. Especially, if its a big project because then if you bundle/setup everything on your own you will know the ins and outs of it all.
The problem that pinax solves is that it avoids you hunting around for the best app that does something, as pinax bundles it together for you.
So if you want to get something up and running quickly, pinax makes that easy. For example, it is - by far - the quickest way to get a django project going with twitter bootstrap + other common plugins.
The benefit is simply this - when starting a new site, Pinax gives you a bit of a head start compared to an empty Django project.
Consider this: You're starting a new site that will need user account management (including email confirmation, user profiles, password reset, etc.), and notifications.
With Pinax, you can get this functionality in a few commands:
$ mkvirtualenv mysite
$ pip install pinax
$ pinax-admin setup_project -b basic mysite
$ python manage.py syncdb
$ python manage.py runserver
You now have:
Pretty much all you need for user management
All that stuff you always add to settings.py like PROJECT_ROOT
'About' Urls - (about / terms / privacy / DMCA / What's Next)
Django Debug Toolbar
i18n already set up.
Static files with compression when in production
A default theme (using Bootstrap)
A whole bunch of other stuff
From there, you can add apps and build / customize templates just as you would for any Django project. The difference is that you've just saved yourself a few hours of installing and configuring apps.
Regarding themes, they're trying to promote the idea of a theme as an app containing nothing more than static files. Take a look at the repo for the default theme to see how this works (it's basically just an app with static files and templates).
If you're a hobbyist building a single site which is your own project, don't bother with Pinax.
If you're a developer who is continually building new sites from scratch, Pinax may be your friend.
Pinax 0.7 was bundled with some apps and starter projects like social_projects which could be used for building a site more quickly, but I things changed in pinax 0.9.
I think pinax has reinvented its structure for some reasons (eg,In pinax 0.7 some people were complaining that it was messy to customize starter projects or to use only subset of certain starter projects so could pinax 0.9 provides more flexibility).
Some of the apps included in a pinax website are somehow coupled with each other so that it is easier to deploy them together,sometimes all you have to do is just installing them and the apps will communicate with each other.
I am trying to run Jumo open source platform ( https://github.com/jumoconnect/openjumo) on my local machine (Windows 7). I have Python and Django installed and it works - I can create new project without problems, but I am not sure how to set existing project and make it work.
I am not experienced with Python/Django, so first I need to know whether it is hard task or not. I guess it's much complicated then installing WordPress or Joomla, but does that require a lot of work in order to set it up?
Can someone write some kind of guide if it is not too complicated? Or if there is some tutorial that explains how to do that, that would be great.
Just to be clear, I am not trying to learn something in one day, just want to see if this first step in using this platform is too hard, and if it's not, I'd continue learning, because this is exactly what I need for one project.
I use Python 2.7 and Django 1.3.1
Thanks
This project has a lot of external requirements which are not listed anywhere and unless you are comfortable and familiar with django, I wouldn't recommend installing it. Here are some but not all of the requirements that you'll need running:
Celery and django-celery
RabbitMQ (a broker for Celery), or another broker but then you'll have to edit settings.py again.
memcached (this is optional, as you can use django's own session middleware for development), but if you simply download the code and try to run it, you'll run into an error since the default settings.py has the default middleware commented out.
grappelli
django-jenkins (not required, but again, unless you edit the default settings.py, you'll get errors).
django-tastypie
django-debug-toolbar
Data science toolkit server
as you may know Django is a powerful web framework and Python is a programming language, for python itself you need more than a few months to become some kind of expert.
it's very easy to start, but not that easy to learn the whole stuff. Django is one of the most or maybe the most powerful web frameworks (beside Ruby on Rails).
my advice to you:
learn python's basics (there's many books such as dive into python,
...)
learn Django basics (Django Book)
use Django on a Gnu/Linux (for example Ubuntu)
learning basics of Django can be done in a few weeks.
consider deploying a Django website is not that easy. you need to know a little about Apache web server.
www.djangoproject.com
note that in python (like other programming languages) you need to define working path. errors mentioned in question's comments usually caused by this.
also you should check Python installation path. sometimes these kinds of errors occurs when there is a project with the same name as yours in python installation path.
i search for good task management system on python-django, with projects, tickets, attachments and user access customization for projects.
Advise what to choose?
Ive used django-projector. It has all the features you ask for, but ive found it to be slightly unreliable integrating with git.
For future reference, i find the best place to check for existing django projects is Django Packages.
The comparision of project management tools is here.
I built a simple Task Management webapp named Django Coleman, using just Django Admin. Take a look at https://github.com/mrsarm/django-coleman
Some background info first:
Goal: a medium-level complexity web app that I will need to maintain and possibly extend for a few years.
Experience: good knowledge of python, some experience of MVC frameworks (in PHP).
Desiderata: using django and google app engine.
I read extensively about the compatibility issues between GAE and Django, and I am aware of the GAE patch, the norel project, and other similar pieces of code. I have also understood that the SDK provides some of the features of django "out of the box".
Yet, given that I have no previous experience with neither Django nor GAE, I am unable to evaluate to which extent using a patched version of Django will strip away important features, or how far the framework provided in the SDK is compatible with Django. So I am rather confused on what would be the best way to proceed in my situation:
Should I simply use a patched version of Django as the differences with the original Django are so minor that I would hardly notice them?
Should I write my app completely in "regular django" and try to port it to GAE only afterwards, when I will have got a grasp on Django internals and philosophy?
Should I write my app using the framework provided with the SDK and port it to django only afterwards?
Should I... ?
Thank you in advance for your time and advice.
I'm not sure if Django is a good fit for you. Django is a great framework for standalone applications because it provides a full stack solution: an ORM, authentication system and an admin interface, to name a few. You won't be able to use any of these on App Engine. Furthermore, many of the code samples are geared towards using the built in Webapp framework - you can very easily set cache expiration and authentication settings in app.yaml for configuration.
I see one of two paths for you:
Learn App Engine with Webapp. There's enough to learn about using the datastore and App Engine's services that'll keep you busy.
Learn Django off App Engine. You'll learn a lot about using Django's ORM, Admin goodies, URL routing, Forms and templates
By trying to learn both at the same time, you'll spend more time than you need learning the nuances of Django/GAE compatibility, time you could be spending either learning Django or GAE.