Django HTML quality and tutorials - html

Hey I recently heard about Django, and will hopefully be moving on to learn an HTML type platform. I am currently learning python 3 and wanted to know if Django, especially recent editions, are the "best" ( sorry about the arbitrariness of that).
Plus I was hoping to know any good books / tutorials for django or any other that you believe is more vesitile, easy, etc. Most books don't seem to be up to date on Django as there have apparently been big changes from 1.0 to 1.1 and another leap on 1.3, from what I've read.
Thanks a lot!

As Peter said, Django doesn't support python 3 (which isn't really a big deal and you shouldn't worry about it)
Check out the starter Django Tutorial - see if you understand what's going on (Do all of it!)
If you want to just "make a website" I would recommend learning to build raw HTML/CSS websites before jumping into django which is a web framework.
Python is a joy to learn - it sounds like you are jumping into that world. I would work with the basic tutorial - Read through Model View Controller architecture - and see if it clicks with you.

I can share my experience with you as I have recently learned Django.
Instead of following any book you should try to use the Django documentation and also dont be afraid to look at the source code, it will help you to understand how things are working behind the scene.

Related

Having a hard time finding a way to follow a path

I've been working on doing things like Codeacademy, trying to do minor projects on my own like designing a website, and also searching around the web for simple projects to work on to gain more experience. The issue has been that I'm having a hard time finding a good curriculum to follow in terms of learning what I need to learn in order to perform well when working in the development of websites or apps. Do any of you have any tips on any websites I could follow a set guide or anything of that nature to help me better my work? Most of them teach you the start of it and after that they say you have to pay or you have to sign up for a course to continue.
I understand what you're going through as I was in your shoes an year back. I would suggest you to follow the tutorial series of Python and then Django by Corey Schafer on YouTube. They are completely free and highly informative. You may start with Python beginners tutorial if you're completely unfamiliar with Python. After this, you can follow the Django series in which you'll learn to build a blogging website. As you said that you've been doing minor projects on your own so there won't be much difficulty in understanding the HTML and CSS used for the front end.
Here's the link to the YouTube channel I mentioned-
https://www.youtube.com/user/schafer5
I hope that this gives you an edge in your learning process.
Good luck mate!
I highly recommend you Udemy, which is a perfect collection for learning all sorts of technical studies. I learned Android programming, .NET, and Unity 3D from Udemy, and really it is helpful.
You may need to purchase the courses, maybe $10-15. But it is worth a shot.

Zotonic- where can a quickstart be found

I have been to the zotonic docs, but well, they have not really been helpful because everything is in bits and pieces over there. I am an averagely good erlang programmer and i guess what i need is a full example of a web site or web app, however simple, but from ground up. Usually, an example built ground up would be used to illustrate all the basic concepts of a library. Forexample, how is a site arranged ? how and where do i put these files ? what does this config mean ? which options are there for this task ? e.t.c.
Zotonic looks great on the outside and i would love to dive into it. It looks like the only Erlang easy-way of building a web site and managing a web site using erlang.Question: Has anyone come across a full-fledged Zotonic-built web site or web app, whose source he can share or a tutorial coming from ground up, especially for Erlang programmers, that can get one really started ? Something similar to this Django introduction Also, are there any builds for Zotonic that can install on a windows Server ?
I'm developing (in my spare time, which hasn't been much lately) a project/issue tracker in zotonic. Code is available here: https://github.com/kaos/trackz and a demo site running the code here: http://trackz.astekk.se/
It's in it's early stages, so it won't be too hard to follow the progress from scratch by looking at the commits made, to that end, it's not much to look at either, yet.
It is developed against 0.8.x, so it probably won't be without issues to run it on 0.9-dev.
I also have some articles about zotonic internals (how to write modules for zotonic) and other related topics here: http://blog.astekk.se/en/by_keyword/318/zotonic
Hope this fills in at least some of your questions :)
Hint:
Study the data model and directory structure. Once you grok that, the rest will come easy.

ASP .NET or Django?

I'm new to the web framework, but have been using Java/Servlet/JSP for my previous web development because I hate PHP. I'm thinking of starting a new feature laden website that I need to quickly create and been deciding on numerous technologies.
I dabbled in Drupal for a while and found it too restrictive and didn't particularly enjoy constantly trying to find a module that almost do what you want so I'm moving over to a web framework.
I considered ASP .NET or Django. Searching on this site, I found a couple of questions ("[Is there any advantage to Django versus ASP.NET MVC other than platform? closed" and "ASP.NET MVC vs. Django - Which framework should I learn?"), but they don't fit my situation.
In my case, I'm new to Python and have to learn that, but am relatively familiar with C# due to Java/C++/XNA and VB Classic 6.0. In both cases, I have no experience with Django/Python or ASP .NET/SQL Server and have never created a site with either.
My reasons are as follows:
I like the idea of having a full stack from one vendor and not mock around with Linux as it took me forever to setup a proper secure setup of Ubuntu, PHP, MySQL and Apache. I don't want technical oddities of learning gazillion different applications with obscure settings to get it working. This is mostly a concern with Django/Python as I believe MS got their stuff well tied togheter.
Django is designed for newspaper website so it focuses on rapid and efficient development of new features with good design principles. I love the idea of there is only one good way to do it and the Django authors perfectionism. The pitfall of course is since 2005 they are still on version 1.2! Ruby on Rails is far ahead of them considering I saw this video. Yeah, I watched the whole entire 3-hours, but didn't understand much from the RoR demonstration.
ASP .NET is appealing to me because I already know C# and VB Classic 6.0. I'm familiar with Visual Studio and like the fact that it is also tied in to Windows Phone 7/Xbox Live Indie games with XNA. However, if those features are used is another question down the road. However, as mentioned before ASP .NET just seemed streamelined with plenty of documentation and support. Future job prospects also seem more in favor with MS technology.
What does the community here think?
I would like to hear different ideas as I beginning web programmer it is very daunting and I have vasted far too much time figuring this out on my own the hard way. Help would be very much appreciated!
ASP.Net and WISC# stack.
WISC - Windows/IIS/SqlServer/C# :)
if you want an MVC Web Framework use ASP.net MVC , since you come from a Java Background C# wont be a problem for you
Django is a good framework but you have to learn python

Which technologies are commonly used by developers to quickly build websites?

I'm an experienced C/C++/C#/Objective-C desktop,web, and mobile programmer and I've become accustomed to building most of my software from scratch. I've built all my websites from the ground up using ASP.NET. I have quite a few ideas for websites that I'd like to test and I'd like to increase the rate at which I can actually build a website. I'm sure I'm unaware of many of the technologies that are commonly used for building out ideas quickly. About a year back, I looked into using the popular CMS called Drupal to see if it would help me speed up development. After two weeks of trying to decipher the structure of the Drupal CMS, along with trying to learn PHP, I found the learning curve to be steep enough to convince me that it would just be faster if I built my website yet again from scratch using ASP.NET MVC. I'm wondering if anyone could suggest any other technologies that are designed for programmers to build websites quicker than my current method of building them from scratch using ASP.NET MVC.
Secondly, I've been hearing many entrepreneurs mention Ruby on Rails is what they use to speed up the development of their ideas, so I'm planning to investigate it. Why do I hear more about Ruby on Rails than any other technology? Would you suggest using it to speed up development?
Thanks in advance for all your wisdom!
I've tried out Ruby on Rails, Django (the Python equivalent of Ruby on Rails) and Drupal. Drupal is nice if you're just acting as a sysadmin: install the modules you want and use it as-is. But PHP as a programming language is so annoying that I'd hate to use it for something serious.
Django has some odd quirks but seems to work well. From an MVC perspective, Django calls views "templates" and calls controllers "views", which is ugly. Also, instead of generating default URL -> controller/action mappings for you the way that Rails does, Django set up routing files by hand before things work. You also have to set up some DJANGO environment variables if you want to run other helper Python code with access to your model objects. Rails also creates and configures a sqlite database by default so that you can start right away, but with Django you have to set it up yourself.
Rails seems to "just work" in so many ways that I highly recommend it. Ruby is also a pleasant language to work in. Try the simple startup to see what I mean:
rails foo # Create the foo webapp
cd foo
script/server
Then browse to http://localhost:3000 to try things out. That page will give you some info about your webapp and point you to the next steps.
Use an ORM for the data layer. That will increase the speed.
Also reuse common code elements from your previous projects.
And still, for any more or less different site you would need to do some work. Cannot avoid that. ASP.NET MVC is quite powerful tool, especially because it's backed up by the rich .NET class library. At least this framework doesn't build you obstacles at any step along the way, which is quite an accomplishment.
Django is a framework for database-driven web pages in Python.
I agree with your assessment. I was rather proficient in C/C++/C# and never built a website before. I looked at a couple of things, but when I started working with ASP.NET MVC2, I loved it. Another method/architecture I like but haven't messed too much with is WPF. If you download Microsoft Expression Blend 4 there's a 60 day trial and it's really nice. A lot of clicking and less typing. :) Hope this helps.
I toyed with the Zend PHP Framework a bit, and found it to be pretty good. You mentioned that the learning curve for Drupal/PHP didn't make it worthwhile to pursue, but if you retained any of the PHP you learned from that, this might go a bit quicker. To read more you can check out "10 Compelling Reasons to Use Zend Framework". Zend might not exactly be "configure and you're done," but since I usually work with Enterprise Java, I found it pretty reasonable in the speed-to-set-up department.

How to switch from Web Designer to Front End Developer/ Web Developer?

I want to Switch from Web Designer to Front End Developer or web developer PHP, which skill should I get , Is it Easy to switch from Designer to Developer. I have two years Exp. in Web Designing. Please suggest.
Or should i stick to the Designing what is the Next BIG thing for Designer after DIV layout.
My Current Roles
Conversion PSD to HTML,
fixing Bugs in Different Browsers ,
Strong knowledge of HTML and CSS. I want to Go with the Open source Programming like PHP and MySQL
On the design side you could learn Flash or Silverlight. UX and UI design are hot right now.
On the programming side, are you good at client side programming? JavaScript AJAX etc.
#wazdesign, I didn't come from a design background like you, but I found my niche in Front-End Web Development none-the-less.
I started with Standards-based HTML and CSS and then started working back in the day on the Views and Helper functions in MVC frameworks (with a good team doing the controllers, models etc.)
Ask a competent Web Developer to give you a basic web-server architecture and process demo. Understand how data from the DB gets onto your user's pages, and all the checkpoints the data goes thru on the way.
Once you understand the principles, you can pretty much work with any technology after tooling up with the syntax.
I've listed some terms to research below that are tech-agnostic. I can't help you with the PHP side of things :)
Some books worth reading:
The Design of Everyday things - Don Norman
Don't make me think - Steve Krug
Anything by Luke Wroblewski such as Web Form Design
High Performance Websites (O'Reilly)
Some terms to research:
Interaction Design
MVC Frameworks
Templating systems
HTTP
User Interface
Some tools to use:
Firebug
YSlow for Firebug
I think you're making a good move here. To me you're showing initiative that you want to grow and learn new things. My advice would be that you learn how to program first. The problem with a programming language like PHP is mostly that it is really accessible, meaning that it's is easy to pick-up, copy and paste some code etc. PHP is notorious for it's cut & past scripting mentality but in the hands of a good programmer it is just as good a programming language as any other programming language out there.
So, to avoid becoming a cut & paste PHP programmer learn how to program first. Learn about variables, functions, control statements, algorithms, Object Oriented programming, the technology of the web etc. I would recommend that you pick a book and start learning the basics first before diving in the deep end. This way you will lay a good foundation for yourself and you can avoid becoming a cut & paste programmer.
Good luck!
I moved from "Web Designer" to "User Experience / User Interface Designer" to "Application Architect". Each role built on the next fairly well and no direct programming knowledge was necessarily required, though I think my lack of programming skills as an Architect is not the norm.
I realize you asked about moving into a Developer role, but I thought I'd offer this as an alternative. The market for User Experience people seems to be strong right now, and it's likely that you already have many of the skills required - developing wireframes, designing application workflow, information architecture, etc.
Designer to developer
I've thought a lot about this and wrote an article about the designers mutating into developers for PerlBuzz that covers a lot of the necessary ground (albeit from a Perl the point of view).
The main issues are:
understand why separating: programming code, visual markup, and data is a good thing
learn a bit about MVC, frameworks and HTML templates
learn enough Unix (at least permissions and paths) to get by and understand the command line
try (say) a simple Ruby framework like Sinatra or Ramaze. Camping is great for learning MVC (everything in one small file) but lacks a definitive version at the moment
alternatively, spend a day getting the Python framework Django up and running - it's pretty hot at the moment, Python is a good first language, spares you the SQL, is under very active development, and the extensive documentation is all online
play with JQuery or another Javascript library for client-side goodness
PHP is fine when written well and good for learning how to construct HTML templates, and Symfony seems like a sound framework, but avoid starting off by hacking (say) WordPress or Joomla. You'll only learn... well, how to hack WordPress or Joomla, whereas the real leap is in learning to program.
Some basic requirement:
Need to have strong aptitude
Understand the basics of programming in any language. (C/C++ will be good option to start)
For web development, you should be good in html and javascript along with the backend (PHP, ASP.NET etc.)