私はこの投稿を見て成功しませんでした。
レビューウェブサイトを持っていて、特定のユーザー名ですべてのレビューを投稿しようとしています。つまり、「... / reviews / user / username」です。
urls.py:
urlpatterns = [
...
url(r'^reviews/user/(?P<username>\w+)$', views.user_review_list, name='user_review_list'),
]
views.py(User_Nameはデータベース内の列の名前です):
def user_review_list(request, username):
latest_review_list = Review.objects.filter(User_Name=username).order_by('-Pub_Date')
context = {'latest_review_list': latest_review_list, 'User_Name': username}
return render(request, 'bourbons/user_review_list.html', context)
そして私がそれを呼ぶhtmlファイル:
<h5>Rated {{ review.Rating }} of 5 by <u><a href="{% url 'app:user_review_list' review.User_Name %}" style="color:#ffffff">
{{ review.User_Name }}
</a></u></h5>
メソッドが異なる他の投稿をいくつか見つけましたが、「ValueError:基数10のint()のリテラルが無効です: 'user / username'」というエラーが引き続き表示されます。エラーはurls.pyの部分にあるか、その前にあるように感じます。views.py関数を数回変更しましたが、エラーは変更されていません。
Djangoバージョン1.11.6を使用しています。
ありがとう
これがフィードバックからの追加です...
メインのurls.py
from django.conf.urls import url, include
from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static
from . import views
urlpatterns = [
url(r'^$', views.home, name='home'),
url(r'^facts', views.facts, name='facts'),
url(r'^contact', views.contact, name='contact'),
url(r'^admin', include(admin.site.urls)),
url(r'^app/', include('app.urls',
namespace='app')),
url(r'^accounts/', include('registration.backends.simple.urls')),
url(r'^accounts/', include('django.contrib.auth.urls',
namespace="auth")),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
アプリのurls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.bourbon_list, name='app_list'),
url(r'^app/(?P<ID>.+)$', views.app_detail, name='app_detail'),
url(r'^reviews$', views.review_list, name='review_list'),
url(r'^reviews/(?P<RatingID>.+)$', views.review_detail, name='review_detail'),
url(r'^reviews/user/(?P<username>\w+)$', views.user_review_list, name='user_review_list'),
]
models.py
class Review(models.Model):
RATING_CHOICES = (
(1, '1'),
(2, '2'),
(3, '3'),
(4, '4'),
(5, '5'),)
RatingID = models.IntegerField(null=True, blank=True)
Item = models.ForeignKey(App)
Pub_Date = models.DateTimeField('date published')
User_Name = models.CharField(max_length=100)
Comment = models.CharField(max_length=200)
Rating = models.IntegerField(choices=RATING_CHOICES)
のurlpatternをreview_detail
に変更します
url(r'^reviews/(?P<RatingID>\d+)$', views.review_detail, name='review_detail'),
何が起こっているのかというと、このビューの既存のurlpattern正規表現reviews/
は、後続の.+
。のために、下にある他のURLと一致しています。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加