คำถามติดแท็ก django-urls

ระบบจัดส่ง Django URL

9
รับ URL ผู้ดูแลระบบ Django สำหรับวัตถุ
ก่อน Django 1.0 มีวิธีง่าย ๆ ในการรับ url ของวัตถุและฉันได้เขียนตัวกรองขนาดเล็กที่ฉันใช้เช่นนี้ <a href="{{ object|admin_url }}" .... > ... </a> โดยทั่วไปฉันใช้ฟังก์ชันย้อนกลับ URL ด้วยชื่อมุมมอง 'django.contrib.admin.views.main.change_stage' reverse( 'django.contrib.admin.views.main.change_stage', args=[app_label, model_name, object_id] ) เพื่อรับ URL อย่างที่คุณอาจคาดเดาได้ฉันกำลังพยายามอัปเดตเป็น Django เวอร์ชันล่าสุดและนี่เป็นหนึ่งในอุปสรรคที่ฉันเจอวิธีการรับ URL ผู้ดูแลระบบไม่ทำงานอีกต่อไป ฉันจะทำสิ่งนี้ใน django 1.0 ได้อย่างไร (หรือ 1.1 สำหรับเรื่องนั้นเพราะฉันพยายามอัปเดตเป็นเวอร์ชั่นล่าสุดใน svn)

7
พารามิเตอร์ URL ทางเลือก Django
ฉันมี Django URL เช่นนี้: url( r'^project_config/(?P<product>\w+)/(?P<project_id>\w+)/$', 'tool.views.ProjectConfig', name='project_config' ), views.py: def ProjectConfig(request, product, project_id=None, template_name='project.html'): ... # do stuff ปัญหาคือฉันต้องการให้project_idพารามิเตอร์เป็นตัวเลือก ฉันต้องการ/project_config/และ/project_config/12345abdce/เป็นรูปแบบ URL ที่ถูกต้องเท่าเทียมกันดังนั้นหาก project_idผ่านไปแล้วฉันสามารถใช้ได้ ในขณะนี้ฉันได้รับ 404 เมื่อฉันเข้าถึง URL โดยไม่มีproject_idพารามิเตอร์

6
ควรใช้พา ธ () หรือ url () เป็น urls.py สำหรับ django 2.0 ดีกว่าไหม?
ในหลักสูตรออนไลน์ django ผู้สอนให้เราใช้url()ฟังก์ชั่นเพื่อเรียกดูและใช้การแสดงผลปกติในรายการ urlpatterns ฉันเคยเห็นตัวอย่างอื่นบน youtube ของสิ่งนี้ เช่น from django.contrib import admin from django.urls import include from django.conf.urls import url urlpatterns = [ path('admin/', admin.site.urls), url(r'^polls/', include('polls.urls')), ] #and in polls/urls.py urlpatterns = [ url(r'^$', views.index, name="index"), ] อย่างไรก็ตามในการผ่านการสอน Django พวกเขาใช้path()แทนเช่น: from django.urls import path from . import views urlpatterns …

15
Django: ฉันจะดูรายการ urlpatterns ได้อย่างไร?
ฉันจะดูรูปแบบ URL ปัจจุบันที่ "ย้อนกลับ" กำลังมองหาได้อย่างไร ฉันเรียกการย้อนกลับในมุมมองที่มีข้อโต้แย้งที่ฉันคิดว่าควรได้ผล แต่ไม่ทำ ฉันจะตรวจสอบได้อย่างไรว่ามีอะไรบ้างและทำไมรูปแบบของฉันถึงไม่มี

3
ความแตกต่างระหว่าง STATIC_URL แบบคงที่และ STATIC_ROOT บน Django
ฉันสับสนstatic rootและต้องการชี้แจงสิ่งต่างๆ ในการให้บริการไฟล์แบบคงที่ใน Django สิ่งต่อไปนี้ควรอยู่ในsettings.pyและurls.py: import os PROJECT_DIR=os.path.dirname(__file__) 1. พา ธ สัมบูรณ์ไปยังไดเร็กทอรีที่ควรรวบรวมไฟล์แบบคงที่ STATIC_ROOT= os.path.join(PROJECT_DIR,'static_media/') 2. คำนำหน้า URL สำหรับไฟล์คงที่ STATIC_URL = '/static/' 3. ตำแหน่งเพิ่มเติมสำหรับไฟล์คงที่ STATICFILES_DIRS = ( os.path.join(PROJECT_DIR,'static/'),) ... และในurls.pyบรรทัดต่อไปนี้: from django.contrib.staticfiles.urls import staticfiles_urlpatterns urlpatterns += patterns('', ( r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT} )) 4. เรายังใช้ python manage.py collectstatic คำถาม: ใครช่วยอธิบายขั้นตอนการทำงานให้ฉันฟังได้ไหมว่าควรทำอย่างไร ณ …

2
ข้อผิดพลาด NoReverseMatch คืออะไรและฉันจะแก้ไขได้อย่างไร
ฉันมีรหัสบางอย่างและเมื่อดำเนินการมันจะพ่น NoReverseMatch โดยพูดว่า: ไม่พบ NoReverseMatch ที่ / my_url / Reverse สำหรับ "my_url_name" ที่มีอาร์กิวเมนต์ "()" และอาร์กิวเมนต์คำหลัก "{}" n รูปแบบที่พยายาม: [] นี่หมายความว่าอย่างไรและฉันจะทำอะไรได้บ้าง?

4
Django URLs TypeError: view ต้องเป็น callable หรือ list / tuple ในกรณี include ()
หลังจากอัปเกรดเป็น Django 1.10 ฉันได้รับข้อผิดพลาด: TypeError: view must be a callable or a list/tuple in the case of include(). urls.py ของฉันมีดังนี้: from django.conf.urls import include, url urlpatterns = [ url(r'^$', 'myapp.views.home'), url(r'^contact/$', 'myapp.views.contact'), url(r'^login/$', 'django.contrib.auth.views.login'), ] การย้อนกลับแบบเต็มคือ: Traceback (most recent call last): File "/Users/alasdair/.virtualenvs/django110/lib/python2.7/site-packages/django/utils/autoreload.py", line 226, in wrapper fn(*args, **kwargs) File …

5
ไม่เหมาะสม ConfiguredError เกี่ยวกับ app_name เมื่อใช้เนมสเปซใน include ()
ฉันกำลังทดลองใช้ Django ฉันใช้namespaceอาร์กิวเมนต์ในหนึ่งในinclude()s ของฉันใน urls.py. เมื่อฉันเรียกใช้เซิร์ฟเวอร์และพยายามเรียกดูฉันได้รับข้อผิดพลาดนี้ File "C:\Users\User\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\urls\conf.py", line 39, in include 'Specifying a namespace in include() without providing an app_name ' django.core.exceptions.ImproperlyConfigured: Specifying a namespace in include() without providing an app_name is not supported. Set the app_name attribute in the included module, or pass a 2-tuple containing the list …

5
Django URL Redirect
ฉันจะเปลี่ยนเส้นทางการรับส่งข้อมูลที่ไม่ตรงกับ URL อื่น ๆ ของฉันกลับไปที่หน้าแรกได้อย่างไร urls.py: urlpatterns = patterns('', url(r'^$', 'macmonster.views.home'), #url(r'^macmon_home$', 'macmonster.views.home'), url(r'^macmon_output/$', 'macmonster.views.output'), url(r'^macmon_about/$', 'macmonster.views.about'), url(r'^.*$', 'macmonster.views.home'), ) มันยืน, รายการสุดท้ายส่งเข้าชมทั้งหมด "อื่น ๆ" ที่หน้าบ้าน แต่ฉันต้องการที่จะเปลี่ยนเส้นทางผ่านทั้งHTTP 301หรือ302

8
จะรับชื่อ url ปัจจุบันโดยใช้ Django ได้อย่างไร?
ฉันต้องสร้าง url แบบไดนามิกตาม url ปัจจุบัน การใช้{% url %}แท็กเป็นวิธีที่ง่ายที่สุด แต่ฉันต้องการชื่อ url ปัจจุบันเพื่อสร้างชื่อใหม่แบบไดนามิก ฉันจะรับชื่อ url ที่แนบมากับ urlconf ที่นำไปสู่มุมมองปัจจุบันได้อย่างไร แก้ไข: ฉันรู้ว่าฉันสามารถสร้าง URL ได้ด้วยตนเองโดยใช้get_absolute_urlแต่ฉันควรหลีกเลี่ยงเนื่องจากเป็นส่วนหนึ่งของการบรรยายและฉันต้องการสาธิตวิธีเดียวในการสร้าง URL {% url %}นักเรียนรู้วิธีการใช้ พวกเขารู้ดีว่ากำลังเผชิญกับปัญหาเมื่อต้องสร้าง url ที่สมบูรณ์มากขึ้นตาม URL ปัจจุบัน วิธีที่ง่ายที่สุดคือใช้{% url %}อีกครั้งโดยมีรูปแบบต่างๆ เนื่องจากเราตั้งชื่อ url เราจึงต้องรู้วิธีรับชื่อ url ที่เรียกมุมมองปัจจุบัน แก้ไข 2: กรณีการใช้งานอื่นคือการแสดงส่วนต่างๆของเทมเพลตพื้นฐานที่แตกต่างกันไปตามเทมเพลตพื้นฐาน มีวิธีอื่นในการทำเช่นนี้ (โดยใช้ CSS และ {% block%} แต่ในบางครั้งก็เป็นการดีที่สามารถลบแท็กของรายการเมนูของ base.html ได้หากชื่อมุมมองตรงกับลิงก์

6
django urls ที่ไม่มีเครื่องหมายทับจะไม่เปลี่ยนเส้นทาง
ฉันมีแอปพลิเคชั่นสองตัวที่อยู่ในคอมพิวเตอร์สองเครื่องแยกกัน ในคอมพิวเตอร์ A ในurls.pyไฟล์ฉันมีบรรทัดดังนี้: (r'^cast/$', 'mySite.simulate.views.cast') และว่า URL จะทำงานให้ทั้งสองและmySite.com/cast/ mySite.com/castแต่ในคอมพิวเตอร์ BI จะมี url ที่คล้ายกันเขียนออกมาเช่น: (r'^login/$', 'mySite.myUser.views.login') ด้วยเหตุผลบางอย่างบนคอมพิวเตอร์ B เครื่องurl mySite.com/login/ จะทำงาน แต่จะหยุดทำงานmySite.com/loginและจะไม่กลับไปmySite.com/login/ชอบบนคอมพิวเตอร์ A. มีบางอย่างที่ฉันพลาดไปหรือไม่? ทั้งสองurl.pyไฟล์ดูเหมือนกับฉัน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.