33

I am learning Django and new to web development. Please excuse me if you find this question too dumb.

So, I am creating a Facebook application using Django which I would like to host in Google App Engine. The project would be focusing on reading RSS/ Atom feeds of any website (That's all I can say now).

I am sure enough to process the RSS/Atom files but I am worried about the front end (User Interface) part - "The design part". I don't know HTML/ CSS/ JavaScript (I can handle simple HTML stuff but that doesn't lead to any designing thing).

First, I thought of using tools like dreamweaver or any equivalent software for designing UI but when I really started learning django and getting into it, It seems to be a "not possible" thing.

So,

  • How should I design the UI part of my site? Can't I use tools like dreamweaver?

    • If NO, what's the best way for guy like me who doesn't know JavaScript/ CSS
    • If YES, what's the best open source alternative to dreamweaver?
    • Can Google App Engine handle all this suff?
  • How people who deal with Django edit those template pages. The Django mentions the it will separate the logical (views) and design (templates) parts so that different departments in a company can handle separately. But Considering the fact that the Django's HTML pages are filled with "tags" which are no way related to HTML (designing), how UI people handle it?

1
  • 1
    First, make it work, then make it pretty.
    – msw
    Commented Jul 5, 2015 at 14:35

4 Answers 4

22

The Django docs never mentioned that a person who doesn't know what HTML/JS/CSS is about can use it. Separation of concerns is done also in the backend, where the actual action(the views) are separated from the database layer or the URL-routing logic - That allows for loose-coupling. It never means you can write views without ever understanding your models. Similarly(well, not that similarly), you do need to have an understanding of HTML/CSS to get basic web pages up. You may or may not want to learn some JS, but I think with HTML5, it is more or less essential to know some JavaScript.

No sane web-developer is going to advise to to use a WYSIWYG editor like DreamWeaver. Write HTML by hand. You may, however, use things like HTML5 Bolierplate to get your project started fast.

Google AppEngine is a PaaS that you can use to deploy your application. It will provide among other things, the Python runtime, a high-replication datastore etc. - but it will not take care of generating your front-end.

If you're going to hire someone to take care of the front-end, that person would anyway have to know how to use Django tags, as really(if you follow the MVC - or MTV pattern closely), they define the blurred line between "static" and "dynamic" web-pages. Even if you choose to hire a frontend-developer, I suggest you grasp the basics of HTML and CSS(at least so much that you know how it works and how are you going to serve the CSS static files). It will only help you in the long run.

Not all people have good design skills, and design is undoubtedly best left to skilled people, but when it comes to actually serving pages with that design, it is all HTML and CSS. So you may hire a person who doubles up(most do) as a front-end designer and a front-end developer. But I suggest you to not remain completely unaware of front-end technologies.

2
  • 3
    +1 "no sane web-developer"
    – msw
    Commented Jul 5, 2015 at 14:34
  • It's probably true that no sane web developer would want to author HTML templates in anything resembling Dreamweaver. But most web designers seem to want to use Dreamweaver or similar for the CSS, and the question does mention CSS. So it would be nice to have some direction with regards to working with Dreamweaver and Django. Commented Jan 11, 2016 at 16:23
4

What I do is I either design a layout in dreamweaver, or hire a designer to create HTML "wireframes" with fake data, then I go over it and use Django's (or Jinja's) template tags to make it into a working template. I know some HTML, but I would never be able to make anything attractive. Functional? Yes! Pleasant to look at? Glob No!

So, in conclusion; With just some basic knowledge of HTML, you can modify a pre-made HTML document to work as a template.

3

Perhaps learn how to use html + bootstrap. Bootstrap is a modern package to make responsive sites where the CSS and JavaScripts are almost, if not all, taken cared of for you. So no need to dig way to deep in html+css+js.

What you will do after you know enough of bootstrap is to go over to these bootstrap examples then start your web designs from there. Then when you will need component specific elements, go to this link then.

I knew very little on HTML, CSS, and JS and Bootstrap really saved my ass. You will need to know the bare basics of those though, but if you're onto web development, that shouldnt hurt.

1

Anyway you'll need to understand how is HTML working. You can start with simple layout without any graphic beauties.

You can use any editor you like (Dreamweaver or whatever) but django's tags are linking the template to the program code, so no editor can make it with WYSIWYG (what you see is what you get). Some IDEs have few helpers for that tags, but no more, they just automate things like closing tags and so on.

Or you can hire a freelancer to create and integrate a template in your application, but it's not the best way to learn something :)

Not the answer you're looking for? Browse other questions tagged or ask your own question.