I'm creating an internet radio station site on my Apache, and I've decided Django is the CMS which is best suited to the task.
http://www.gareth53.co.uk/work.html mentions it being used for radio station sites, and I decided I'd go with this since it seems to be a fairly popular choice.
These are some examples of it in action on live sites:
http://www.capitalfm.com/on-air/station-schedule/
http://www.heart.co.uk/suffolk/shows/
I'm aware I need python and mod_wsgi to get it to run, but how do I ensure it works properly on an Apache server? (I'm on Vista Home Edition, and this is just a test/development site until it works properly).
I want my schedules page to look similar to this CMS:
http://www.trentfm.co.uk/schedule.asp
(the effect I'm trying to emulate, in design terms).
I'm aware I'd have to create templates from reading the Django manual, and it uses SQLite, but I'm fairly new to Django and it would be a useful skill to learn.
Obviously that site uses IIS, which I'm not using, but the design is what I am intending to create a homage to (under copyright law a parody etc. is permissible under fair use - the station names are different, though).
My site is different, but the same basic model applies as seen in the stations above.
What has been your experience of using Django and would you recommend it as a CMS?
First of all, Django is not a CMS.. it is a web framework. You can find how to deploy django with apache and modwsgi in the following link.
http://docs.djangoproject.com/en/dev/howto/deployment/modwsgi/
Related
Essentially, my questions are as stated above in the title. What I'm really seeking to know is why it would be privy of me to build a web-page utilizing the Django framework as opposed to solely building it out with HTML5 and CSS3.
I do know that Django utilizes bootstrapping of HTML5 and CSS and this is where my questions are raised over the efficiency of using the Django framework as opposed to solely using HTML5/CSS3.
1.) What are the advantages of Django?
2.) What does utilizing the Django framework offer me that HTML5/CSS3 do not?
3.) HTML5 can also build dynamic web-pages as can Django. Why would Django be better for a dynamic web-page?
I am looking for a very valid answer here as I am about to start building my web-page. The responses I get to these questions will be the nail in the coffin for which method I will be using to build the web-page. Thanks ladies and gentleman and I hope you find this question to be worth your while in answering.
Django is a server side framework. So it has little to do with HTML.
Django will give you easier/standardized ways to handle HTTP requests, and to manipulate entries in the database, among other things.
HTML5 alone doesn't enable dynamic web-pages. You can have interactive web pages, but they will always be the same, for every user, whenever you access it.
Django is a python web application framework that allows you to send requests from your page to a server that will in turn provide a response back to your web page.
Advantages: The power of Django is the ability to quickly get both the client ( your page ) and the backend ( the server-side logic ) setup. The backend can include writing to a database, processing information, retrieving information which is subsequently a response delivered to your web page.
HTML5/CSS3 is markup languages for your web page. You can use a editors like sublime or even notepad ++ if you are building a static web page. Django, like most web app frameworks, are used because of what I've described in #1 ( and many other unlisted reasons ).
HTML5 provides the ability to make dynamic web pages ( using a client side library like JQuery as an embedded script ), Django helps you build web apps. You can write a web page using only HTML5 and JQuery to display list of tv shows that are currently on ABC by listing what is currently playing today, but what about for tomorrow? You need server-side help by creating response that will fetch all shows for tomorrow by calling the ABC API. Take a look at server-side logic and web applications.
In short, there are web pages and web applications. Sounds like to me you are building the former, so Django might be overkill.
1.) What are the advantages of Django?
Server-side scripting without the necessity to use PHP. If you already worked with Python, you don't need to learn another language for you server-side.
2.) What does utilizing the Django framework offer me that HTML5/CSS3 do not?
Hm, deployment to a server, handling user requests and dynamically generated webpages. You mentioned making an intricate website in a comment. I don't know what you mean by that, but a framework will let you do this way faster then without. Especially, if you only rely on client-side JS with static HTML5 and CSS3, I'm fairly certain you will have a hard time achieving your goal.
3.) HTML5 can also build dynamic web-pages as can Django. Why would Django be better for a dynamic web-page?
I'm not really sure you understand what dynamic means. Dynamic means generated from code, as opposed to static, which means served directly from an .html file. Django let's you do both, it's a framework and offers lots of flexibility.
If you want to serve same dish for all visitors to your site, HTML is fine. But if you want to server different dish to different user then you'll need ingredients and a way to churn them. Ingredients can be users, their profile and preferences, location, and other entities users are dealing with. Django is one way to churn all of these together and present (in HTML for example) to users.
This question isn't related to any programming problem or bug rather it's asked to seek knowledge from django developers. I couldnt find proper info as I'm a novice web dev.
I'm a mobile developer and heard quite alot about django. I have looked it up on the internet and official website, from the looks of it, it looks like a framework that is used for storing and retriving data from the database. What are other uses of this framework?
Can django be used to send and receive data from a mobile device?
Your question is not belongs to this site, btw, yes, Django is one of the most famous web frameworks of python, you can up a server via wsgi (or uwsgi) module and make a rest-api server via rest-api-framework, also create SOA.
It depends on your needs, but I think you can use DRF (Django Rest Framework) to standardize your server.
Django was created by a newspaper that wanted a better way of publishing articles. It is a framework for publishing content in a reliable way, so that different types of articles can have corresponding views.
Since then it has evolved a lot so that it can serve as a back-end for many types of websites. I'd suggest checking the Django tutorial which has a lot of good examples and code samples to run through:
https://docs.djangoproject.com/en/1.9/intro/tutorial01/
I find the stateless SOA architecture to be increasingly useful and relevant.
For example, it allows you to write once; deploy to:
Website (for viewing in web browsers)
Native mobile apps (using Adobe PhoneGap or similar)
Ubuntu apps
Windows Metro Store apps (for Windows 8)
Unfortunately this design has a major drawback; slower development time. Using any ORM and an associated form generator, one can develop their web application very quickly.
Are there any ORM form generators for Python which can translate Models to AngularJS forms?
[including CSRF token and RESTful setup; with JSON as format]
There are not. I had to look, but there's really nothing like that out there. There are however quite a few articles about using AngularJS with Python. Just Google "AngularJS python" and see what you come up with. But you're going to have to do most of the work yourself!
Wanting to get some feedback on frameworks. Web/Desktop. It doesn't seem to be much difference in most respects expect web can go everywhere and desktop can't.
For a small user base however using database database driven application, where 70% input would come from files, and 30% for the user. Would I get more benefit from a desktop based solution like Camelot Camelot or Dabo & Pyjamas matched against say Django, Grok, Plone or Pyramid?
I was going to learn django based largely on docs Django Book and apparent ease of learning. Thought i should check first before diving in if its the most appropriate.
For data driven project where display/input/reporting facilites(charts/graphs) required is there a best fit or a "better fit". Can't see that I would loose anything by using a web framework for this these days, but where the desired output is more "business" logic based rather than a web page which avenue should i go web v desktop and if either better option?
Edit: I have found another possible solution/answer web2py web2py
I think you'll find web2py very easy to learn and use. Note, if desired, you can easily distribute your web2py app to individual users for installation on their own computer like a desktop app (using the browser as the user interface) -- see here. The users don't need to have anything else installed on their computer (not even Python), and web2py itself doesn't require installation, just unzipping.
I'm a C/C++ developer and I also have experience developing web apps with C#, ASP.NET MVC and fluent nhibernate. I'm looking for non-MS alternatives for web development and I'm really interested in python so I went out after Django but I've been told that Django makes it difficult for me to personalize my HTML (not sure if this is accurate).
What I'm looking for is a Python web development framework that is integrated with an ORM, is able to generate the interfaces BUT provides an easy way for me to customize the interface to create an AJAX intensive app
go for django.
does all you wanted,
has perfect docs and even free book,
partially runs on appengine,
has really large user base,
it is mature:
db sharding, (With model router)
xss protection in forms
memcache,
localisation,
well tested support for unicode,
really easy to learn because of level of it documentation.
I'm using Flask (a very minimal web framework) and SQLAlchemy as my ORM. I'm exceedingly happy with it. Disclaimer: I'm only using this for personal projects at the moment, though I do plan to launch a web app in the next 6 months using this setup.
Various options in Python you can look at -
Django (obviously!)
Pylons
Nagare
Flask
Django is really good. And no your info is not correct, HTML templates are real easy to edit them.
Also this is from a developer of Nagare -
Ajax without to write any Javascript
code or the use of continuations makes
a Web application looks like a desktop
one. In fact we have often found that
developers like you, without prior Web
experiences, can be quicker to get
Nagare because they have nothing to
"unlearn".
I am going deeper into this framework Since you said that your app is AJAX intensive. From what I have heard, Nagare makes it easy to do so...
All these frameworks are really good. Some are really good in some areas, others not. So may be explore them all & see which best suits your purpose.
For Web applications development, we're using Nagare, coming with YUI for AJAX communications.
Having a look to Nagare might be an option.
I'm in agreement with the rest of the answers and think that Django is by-far the best choice as a "complete framework" and I think their template system is second-to-none.
If you are looking to create an ajax intensive application, I'd suggestion checking out django-piston (http://bitbucket.org/jespern/django-piston/wiki/Home). Piston is a REST API framework built on top of Django. I've used it for a number of ajax intensive applications and have found it's workflow to be incredibly clean, quick and flexible.
If you are wanting to go a bit slimmer and lighter-weight though, I'd suggest checking out web.py (http://webpy.org/) or Tornado (http://www.tornadoweb.org/).
I would definitely look into Pylons which is very thoroughly documented and has sql alchemy (one of the best python ORM's) baked in. Plus it's easy to setup and learn.
I currently am working with a framework called restish which is flavor of pylons that (surprise, surprise) puts the focus on sticking to RESTful web design. I don't think it's exactly what you're looking for in that it lacks good documentation and any form of an ORM.
Just A side note I'm pretty sure that Django uses Mako templating which gives you excellent control over the HTML.