लोग। मैं एक नौसिखिया Django डेवलपर हूं इसलिए क्षमा करें यदि यह एक मूल प्रश्न है।

मेरे पास एक वेबपृष्ठ है जो फिल्मों की एक सूची दिखाता है और प्रत्येक फिल्म में विवरण दृश्य होता है, लेकिन किसी कारण से, विवरण दृश्य कभी प्रस्तुत नहीं किया जाता है।

#views.py

def index(request):
    latest_movies = Movie.objects.order_by('-movie_id')[:5]

    template = loader.get_template('ytsmirror/index.html')
    context = {
        'latest_movies' : latest_movies,
    }

    return HttpResponse(template.render(context, request))

def detail(request, movie_id):

    movie = Movie.objects.get(movie_id=movie_id)
    template = loader.get_template('ytsmirror/details.html')

    context = {
        'movie' : movie,
        'plot': 'Lorem impsum',
    }

    return HttpResponse(template.render(context, request))

और मेरे urls.py

#urls.py

from django.conf.urls import url

from . import views

app_name = 'ytsmirror'
urlpatterns = [
  url(r'$', views.index, name='index'),
  url(r'^(?P<movie_id>\d{4})$', views.detail, name='detail'),
]

जब मैं/ytsmirror/4200/ तक पहुंचने का प्रयास करता हूं, उदाहरण के लिए, मुझे कोई त्रुटि नहीं मिलती है और Django स्पष्ट रूप से सही यूआरएल पैटर्न तक पहुंचता है लेकिन विवरण दृश्य प्रस्तुत नहीं करता है, यह बिना किसी बदलाव के इंडेक्स व्यू पर रहता है।

मैं क्या गलत कर रहा हूं? धन्यवाद।

1
AirieFenix 6 जुलाई 2017, 01:36
1
Url(r'$', views.index, name='index') को इसके साथ बदलने का प्रयास करें: url(r'^$', views.index, name='index')
 – 
KePe
6 जुलाई 2017, 01:43
इसने काम कर दिया। धन्यवाद! क्या आप समझा सकते हैं कि क्या हो रहा था?
 – 
AirieFenix
6 जुलाई 2017, 01:48
1
स्पष्टीकरण सही है।
 – 
KePe
6 जुलाई 2017, 10:27

1 उत्तर

सबसे बढ़िया उत्तर

url(r'$', views.index, name='index') स्ट्रिंग के अंत से मेल खाता है, इसलिए मूल रूप से यह किसी भी url से मेल खाएगा, इसलिए आपका कोड काम नहीं कर रहा है। आपको url(r'$', views.index, name='index') को url(r'^$', views.index, name='index') से बदलना होगा ताकि वह केवल खाली url से मेल खा सके

^ स्ट्रिंग की शुरुआत में स्थिति का दावा करता है

$ स्ट्रिंग के अंत में, या स्ट्रिंग के अंत में लाइन टर्मिनेटर से पहले स्थिति का दावा करता है (यदि कोई हो)

2
pythad 6 जुलाई 2017, 01:49