


Misunderstandings about regular expression URLs in Django framework
Using Django to develop websites, you can design very beautiful url rules. If the url matching rules (including regular expressions) are better organized, the view structure will be clearer and easier to maintain. But there may be some misunderstandings. Let’s summarize them below. hope its good for U.S..
Question:
The video I studied was probably recorded in 2015. The Django version used in it is relatively old. For the regular expression URL, url is used ("url(r' ^admin/', admin.site.urls),") method. When I was practicing myself, I downloaded the latest version, and the regular expression URL used the exact path ("path('admin/', admin.site.urls),") method. At the beginning, when a pair was matched, they were successful, so I didn't pay much attention to this detail.
Until later when multiple regular expressions match (path('detail-(\d+).html', views.detail),), the error "page not found" will always be reported. I checked it several times. It's obviously exactly the same. Why can't it work? Actually, the color feels a little off, but I don’t know why. Later, after checking the relevant version documents, I finally found a solution!
The relevant code is attached below:
1. This is the most important py file, and the others are almost the same.
2. Other related codes:
views.py
def detail(request,nid): # print(nid) # return HttpResponse(nid) detail_info = USER_DICT[nid] return render(request,'detail.html',{'detail_info':detail_info})
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <ul> {% for k,v in user_dict.items %} <li><a target="_blank" href="/detail-{{ k }}.html" rel="external nofollow" >{{ v.name }}</a></li> {% endfor %} </ul> </body> </html>
detail.py
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>详细信息</h1> <h6>用户名:{{ detail_info.name }}</h6> <h6>邮箱:{{ detail_info.email }}</h6> </body> </html>
In addition, when the URL needs to pass multiple data, it must be passed strictly in order, and the function definition must have a corresponding number of parameters. Of course, you can use universal parameters to receive any number of participants
General The regular expression used in this case is: url(r'^detail-(?P
and the corresponding The detail function is like this: def detail(request, *args, **kwargs):pass
Related recommendations:
Detailed explanation of website deployment based on Django framework
The above is the detailed content of Misunderstandings about regular expression URLs in Django framework. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Steps to check the Django version: 1. Open a terminal or command prompt window; 2. Make sure Django has been installed. If Django is not installed, you can use the package management tool to install it and enter the pip install django command; 3. After the installation is complete , you can use python -m django --version to check the Django version.

Django and Flask are both leaders in Python Web frameworks, and they both have their own advantages and applicable scenarios. This article will conduct a comparative analysis of these two frameworks and provide specific code examples. Development Introduction Django is a full-featured Web framework, its main purpose is to quickly develop complex Web applications. Django provides many built-in functions, such as ORM (Object Relational Mapping), forms, authentication, management backend, etc. These features allow Django to handle large

Django is a complete development framework that covers all aspects of the web development life cycle. Currently, this framework is one of the most popular web frameworks worldwide. If you plan to use Django to build your own web applications, then you need to understand the advantages and disadvantages of the Django framework. Here's everything you need to know, including specific code examples. Django advantages: 1. Rapid development-Djang can quickly develop web applications. It provides a rich library and internal

How to check the django version: 1. To check through the command line, enter the "python -m django --version" command in the terminal or command line window; 2. To check in the Python interactive environment, enter "import django print(django. get_version())" code; 3. Check the settings file of the Django project and find a list named INSTALLED_APPS, which contains installed application information.

The differences are: 1. Django 1.x series: This is an early version of Django, including versions 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8 and 1.9. These versions mainly provide basic web development functions; 2. Django 2.x series: This is the mid-term version of Django, including 2.0, 2.1, 2.2 and other versions; 3. Django 3.x series: This is the latest version series of Django. Including versions 3.0, 3, etc.

How to upgrade Django version: steps and considerations, specific code examples required Introduction: Django is a powerful Python Web framework that is continuously updated and upgraded to provide better performance and more features. However, for developers using older versions of Django, upgrading Django may face some challenges. This article will introduce the steps and precautions on how to upgrade the Django version, and provide specific code examples. 1. Back up project files before upgrading Djan

django is the backend. Details: Although Django is primarily a backend framework, it is closely related to front-end development. Through features such as Django's template engine, static file management, and RESTful API, front-end developers can collaborate with back-end developers to build powerful, scalable web applications.

Golang regular expressions use the pipe character | to match multiple words or strings, separating each option as a logical OR expression. For example: matches "fox" or "dog": fox|dog matches "quick", "brown" or "lazy": (quick|brown|lazy) matches "Go", "Python" or "Java": Go|Python |Java matches words or 4-digit zip codes: ([a-zA
