Django Chinese static files (CSS, JavaScript)

Source: Internet
Author: User
Use CSS and Javascript in the Django Template

Test Environment

(R' ^ CSS /(? P <path>. *) $ ', 'django. views. static. serve ', {'document _ root':'/var/www/Django-demo/CSS '}),
(R' ^ JS /(? P </path> <path>. *) $ ', 'django. views. static. serve ', {'document _ root':'/var/www/Django-demo/js '}),
(R' ^ images /(? P </path> <path>. *) $ ', 'django. views. static. serve ', {'document _ root':'/var/www/Django-demo/images '}),

Use the following method in the template:

<Link href = "/CSS/demo.css" type = "text/CSS" rel = "stylesheet">

Note: You can use OS. Path. dirname (globals () ["_ file _"]) to obtain the path of the current file, for example

(R' ^ CSS /(? P <path>. *) $ ', 'django. views. static. serve ', {'document _ root': OS. path. dirname (globals () ["_ file _"]) + '/CSS '}),

You can use the OS. Path. abspath () function to return the absolute path of the path.

====================

To reference CSS, JS, GIF, and other static files in the tempalte file of Django, the debug switch is enabled in setting. py.
1. Create a directory for storing static files under the project directory, for example, Medias
2. Add a line in URL. py patterns:
(R' ^ site_media /(? P <path>. *) $ ', 'django. Views. Static. serv', {'document _ root': settings. static_path }),
Also from Django. conf import setting
3. Add a row to setting. py:
Static_path = './medias'

After this setting, you can reference the static files stored in media in the template file, for example:


Online Environment

In a web project developed using Django, CSS, JavaScript, JS, and other static files cannot be avoided. For the processing of these static files, the Django official website writes as follows: django itself doesn't serve static (media) files, such as images, style sheets, or video. it leaves that job to whichever web server you choose. that is to say, Django does not process static files such as images, style sheets, and videos. It submits this task to the Web server you choose.

In the example where the Django project found on the Internet processes static files, it seems that everyone is using the following method for Django to process static files:

? View code Python
urlpatterns += patterns('',
(r'^static/(?P.*)$', 'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT}),
)

For Django. views. static. serve Method, Django official website said very clearly: using this method is inefficient and insecure. do not use this in a production setting. use this only for development. that is to say, this method is inefficient and insecure. Do not use this method in the production environment, but only in the development environment.

In this case, we can only use the Web server we selected to process static files. For example, if you use an nginx server, you can set it as follows:

Set settings. py first, as shown below,

Set settings. py

Configure the nginx website as follows,

Configure nginx

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.