我很难过要使用反向功能来实现我的DRF实现。这是我的urls.py,我将假设使用以下反向操作:
urls.py
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.arahasya.sap.forwardkey/com.arahasya.sap.forwardkey.MainActivity}: android.view.InflateException: Binary XML file line #27: Binary XML file line #27: Error inflating class TextView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2984)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3045)
at android.app.ActivityThread.-wrap14(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1642)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6776)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
Caused by: android.view.InflateException: Binary XML file line #27: Binary XML file line #27: Error inflating class TextView
Caused by: android.view.InflateException: Binary XML file line #27: Error inflating class TextView
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.support.v7.widget.bk.d()' on a null object reference
at android.support.v7.widget.bm.onTextChanged(Unknown Source)
at android.widget.TextView.setText(TextView.java:5133)
at android.widget.TextView.setText(TextView.java:4954)
at android.widget.TextView.<init>(TextView.java:1825)
at android.widget.TextView.<init>(TextView.java:1035)
at android.support.v7.widget.bm.<init>(Unknown Source)
at android.support.v7.widget.bm.<init>(Unknown Source)
at android.support.v7.app.AppCompatViewInflater.a(Unknown Source)
at android.support.v7.app.r.a(Unknown Source)
at android.support.v7.app.r.onCreateView(Unknown Source)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:734)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:865)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828)
at android.view.LayoutInflater.inflate(LayoutInflater.java:525)
at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
at android.view.LayoutInflater.inflate(LayoutInflater.java:378)
at android.support.v7.app.r.b(Unknown Source)
at android.support.v7.app.o.setContentView(Unknown Source)
at com.arahasya.sap.forwardkey.MainActivity.onCreate(Unknown Source)
at android.app.Activity.performCreate(Activity.java:6955)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2927)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3045)
at android.app.ActivityThread.-wrap14(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1642)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6776)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
2018-10-24 01:25:52.356 4679-24128/? E/NetworkScheduler: Invalid component specified.
然后
from django.conf.urls import url, include
from rest_framework import routers
from . import views
router = routers.DefaultRouter()
router.register(r'compressors', views.CompressorViewSet, base_name='compressors')
from django.urls import include, path
# Wire up our API using automatic URL routing.
# Additionally, we include login URLs for the browsable API.
urlpatterns = [
url(r'^', include(router.urls, namespace='router')),
url(r'^api-auth/', include('rest_framework.urls',
namespace='rest_framework'))
]
我想念什么?我收到未提供的app_name,将其添加到此文件后无济于事。有没有办法将app_name放入路由器?
答案 0 :(得分:0)
结果很难找到确切的使用基名的方法,我没有在反向添加“ -list”。应该是以下内容,希望对其他人有所帮助:
reverse('router:compressors-list')