Home Backend Development Python Tutorial 10 Practical Django Tips and Advice

10 Practical Django Tips and Advice

Oct 17, 2016 pm 01:56 PM

Django, as an outstanding Python open source framework, may not get as much praise as other popular frameworks such as Rails, but it is as refined as other frameworks and pays great attention to the DRY (Don't Repeat Yoursef) principle and the reusability of components. Make coding simpler by automating the process.

If certain methods and techniques can be used flexibly in Django projects, it will greatly speed up software development and avoid a lot of headaches. The author lists a few points below. These methods, from shallow to deep, can help programmers of any level become more proficient in using Django.

1. Use relative paths in configuration

For some reasons, projects may often be migrated back and forth. This is definitely a tricky question if you haven't planned for this possibility in advance. Rob Hudson has a great tip for ensuring your Django project can be easily moved back and forth during deployment. Just write a few lines of code in your configuration file (settings.py).

import os
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
  
TEMPLATE_DIRS = (
    BASE_DIR + '/templates',
)
Copy after login

2. Use the {%url%} tag

Use the backward-compatible {%url%} tag as much as possible to replace the hard-coded href, and use the absolute path url (of course it is best not to Doing this) achieves the same effect. Once your Django project is migrated, those links will not be affected. (Translator's Note: For example, if we have a views.about function pointing to the about page r'^about/$', we can {% url views.about as about_url %} and then use the variable {{about_url}} to replace the absolute URL. Address) Although it is not the most advanced technique, it is definitely worth applying to your Django project.

Photo by Cloudzilla.

3. Try to apply Django admin to PHP projects

One of the greatest features of Django is the user authentication system that has become the core function of Django. It is easy to install and is mainly used for user authentication and other necessary configurations. This cool user system is even recommended for use in your PHP projects, and here's Jeff Croft's take on why Django can be a great system management module for any application in any language.

4. Use an independent media server

It is not a big problem to put static files in the same server as the Django project in the development environment, but it should not be used in the production environment. Why? Efficiency issues. Jacobian.org gives a reasonable explanation. By using an independent server to process static files, performance will be effectively improved. If you don't want to buy a server, it is relatively cheaper to use Amazon S3.

5. Use the Debugger toolbar

Debugging tools are indispensable for any language. They can speed up development and point out potential defects. Rob Hudson developed a django debugging tool that is very useful for developers tool.

6. Use Django unit testing

Use unit testing to ensure that your code changes are as expected without breaking any old code for backward compatibility. A powerful feature of Django is that it makes writing unit tests extremely easy. Django can also directly use Python's text testing and unit testing. Django's documentation provides a detailed tutorial and sample code on how to do unit testing to make the code run correctly and remove annoying bugs

7. Use cheat cards

Here are two pages of cheat cards, in Things in the Django documentation that you may have been looking for for a long time can be found here at a glance. It contains the following themes

Template:

Template tags and options

Template filters and options

Date formatting syntax quick reference

Model:

Fields and options

Options for common fields

Metatype options

Model management options

Forms:

Fields and options

Common field options

Standard error message keys

8. Use Django-chunks

In addition to using Django's rich In addition to making it easier to create chunks in a text editor, Django-chunks are also used in templates, which is an indispensable tool for reusing code chunks.

9. Use Memcache

If performance has become a tough issue in your Django project, then you will need to use some caching strategies. However, Django offers many options for caching. The best one at the moment is undoubtedly Memcache. Installing memcache with Django is very simple if you use the cmemcache module. As long as the module is installed, you only need to modify one line of configuration items, and your Django page will become lighter.

10. When using Django, it’s better to act than to think

If you still don’t fully understand the power of Django after reading this article, a reasonable reason to use Django in your next project is: it can Save time on a variety of different software designs. Jeff Croft explains why creating a project with Django is more efficient than designing it yourself. Django allows you to extend your Web site without worrying about design or code or database compatibility, and it will just work great.


Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to solve the permissions problem encountered when viewing Python version in Linux terminal? How to solve the permissions problem encountered when viewing Python version in Linux terminal? Apr 01, 2025 pm 05:09 PM

Solution to permission issues when viewing Python version in Linux terminal When you try to view Python version in Linux terminal, enter python...

How to teach computer novice programming basics in project and problem-driven methods within 10 hours? How to teach computer novice programming basics in project and problem-driven methods within 10 hours? Apr 02, 2025 am 07:18 AM

How to teach computer novice programming basics within 10 hours? If you only have 10 hours to teach computer novice some programming knowledge, what would you choose to teach...

How to efficiently copy the entire column of one DataFrame into another DataFrame with different structures in Python? How to efficiently copy the entire column of one DataFrame into another DataFrame with different structures in Python? Apr 01, 2025 pm 11:15 PM

When using Python's pandas library, how to copy whole columns between two DataFrames with different structures is a common problem. Suppose we have two Dats...

How to avoid being detected by the browser when using Fiddler Everywhere for man-in-the-middle reading? How to avoid being detected by the browser when using Fiddler Everywhere for man-in-the-middle reading? Apr 02, 2025 am 07:15 AM

How to avoid being detected when using FiddlerEverywhere for man-in-the-middle readings When you use FiddlerEverywhere...

How does Uvicorn continuously listen for HTTP requests without serving_forever()? How does Uvicorn continuously listen for HTTP requests without serving_forever()? Apr 01, 2025 pm 10:51 PM

How does Uvicorn continuously listen for HTTP requests? Uvicorn is a lightweight web server based on ASGI. One of its core functions is to listen for HTTP requests and proceed...

How to dynamically create an object through a string and call its methods in Python? How to dynamically create an object through a string and call its methods in Python? Apr 01, 2025 pm 11:18 PM

In Python, how to dynamically create an object through a string and call its methods? This is a common programming requirement, especially if it needs to be configured or run...

How to solve permission issues when using python --version command in Linux terminal? How to solve permission issues when using python --version command in Linux terminal? Apr 02, 2025 am 06:36 AM

Using python in Linux terminal...

See all articles