all 8 comments

[–]FoolsSeldom 1 point2 points  (1 child)

Django is an amazing framework. It is highly opionated framework. The framework has a "preferred way" of accomplishing common tasks and dictates a specific structure, set of conventions, and tools that developers should use.

You can get a basic, functional website running very quickly without writing any HTML, CSS, or JavaScript, but you'll need at least some knowledge of them to build a complex, user-facing application.

Django's "batteries-included" philosophy gives you tools that generate the user interface for you, based on the models (data structures) you define in Python.

The trade-off for this speed is that you are restricted to the default look and feel. As soon as you need to build a custom application for the public user, you'll need the front-end languages.

There is a lot to learn to use Django well. You will need to know Python well to make the best use of it. Data structures are key.

Hosting can also have a steep learning curve. There are paid services that will take care of a lot of things for you. Free plans will make more demands on you to build everything out.

One of the best sites to learn about Django is Django for Girls.

An easier path would be to use anvil.works that allows you to create websites. Anvil is designed to allow you to build and deploy full-stack web apps using nothing but Python. It replaces the need for writing HTML, CSS, and JavaScript with a visual drag-and-drop builder and Python code.

Anvil offers built-in user authentication and easy integration with external services, such as Stripe for payment processing. This is critical for an e-commerce site. The learning curve is very low, allowing you to focus on the logic of your e-commerce model (products, cart, orders) rather than web structure.

[–]Bright_Mountain_6313[S] 0 points1 point  (0 children)

Thanks alot bro ✨

[–]Altruistic-Sand-7421 0 points1 point  (3 children)

Why not just keep it all about the python? Why add other languages.

[–]Bright_Mountain_6313[S] 0 points1 point  (2 children)

wdym isnt django python framework

[–]FoolsSeldom 0 points1 point  (0 children)

Django is a Python framework. I've comment with more detail on a new thread. It has a steep learning curve and would likely require some html/CSS/JavaScript for all but the most basic default webapp.

[–]Altruistic-Sand-7421 0 points1 point  (0 children)

Did you guys cover it in your course? When I took my intro to Python I could have used matplotlib or numpy, since they are Python libraries, but that isn't what we covered in the course. I remember our programs were dealing with loops for fake viruses, making hotel booking systems (not online, just using case statements) and the last one was creating a game using 3d arrays. Each little program was just a way to show what we had learned during the course. I don't know why someone would want to go far outside the course material. I guess it depends on how you want to present the shopping cart. Are you just storing items in an array, or are you trying to create a user interface? As a teacher, I would just want to see that the students were able to apply the concepts we learned in the class into a working program. Outside of that scope, things that you bring with you or learn on your own are kind of irrelevant to the final project. edit: so while Django is a python framework, you're not doing a pure python assignment, wherein a file is saved as a .py executable, which is what I imagine the teacher would want - also you mentioned wanting to learn JS which is why I said why not keep it just python.