Quantcast
Viewing all articles
Browse latest Browse all 14069

Django import problem, cant import myapp but i have installed it in setings

I'm working on a Django project and encountering an ImportError when trying to import a function from my app into the urls.py file. Despite the function being defined and the app added to INSTALLED_APPS, Django cannot seem to locate the function.Project Structure:myproject/manage.pydictionarapicol/init.pysettings.pyurls.pyasgi.pywsgi.pystatics/find.js

myapp/    migrations/        __init__.py    templates/       base.htm       index.html    __init__.py    text_processing.py    admin.py    apps.py    models.py    tests.py    views.py    urls.py

myapp/urls.py:

from django.urls import pathfrom myapp import viewsfrom .text_processing import process_texturlpatterns = [    path('', views.home, name='index'),    path('contact/', views.contact, name='contact'),    path('stiri_apicole/', views.login, name='stiri_apicole'),    path('text_processing/', process_text, name='text_processing'),]

text_processing.py

from django.http import JsonResponseimport jsonfrom nltk.stem.snowball import SnowballStemmerimport stanzaimport spacy_stanzafrom rowordnet import RoWordNet# Load dictionary datawith open('static\dictionary.json', 'r', encoding='utf-8') as file:    dictionary_data = json.load(file)# Initialize NLTK, spaCy, Stanza, andin stall RoWordNetstemmer = SnowballStemmer("romanian")nlp = spacy_stanza.load_pipeline('ro')import rowordnet as rwnwn = RoWordNet()def process_text(request):    text = request.GET.get('text', '')    stemmed_text = stemmer.stem(text)    doc = nlp(text)    lemmatized_text = ''.join([token.lemma_ for token in doc])    synset_ids = wn.synsets(literal=text)    synsets = [wn.synset(synset_id).definition for synset_id in synset_ids]    return JsonResponse({'stemmed_text': stemmed_text,'lemmatized_text': lemmatized_text,'RoWordNet_synsets': synsets    })

views.py

from django.shortcuts import render# Create your views here.def home(request):    return render(request, 'index.html')def contact(request):    return render(request, 'contact.html')def login(request):'stiri_apicole.html')# views.pyfrom .text_processing import process_text

find.js

ocument.getElementById('searchInput').addEventListener('input', function (e) {    const searchTerm = e.target.value;    // Send the search term to Django backend for processing    fetch(`text_processing.py/?text=${encodeURIComponent(searchTerm)}`)        .then(response => response.json())        .then(data => {            // Use processed text (stemmed, lemmatized, etc.) from backend for Fuse.js search            // Assuming the backend sends back a similar JSON structure            const processedText = data.lemmatized_text; // Choose between stemmed_text or lemmatized_text            const results = fuse.search(processedText);            displayResults(results.map(result => result.item));        })        .catch(error => {            console.error("Error processing text:", error);

enter image description here

I've verified that init.py exists in each directory, so Python should recognize them as packages.I've tried importing process_text directly in views.py and then referencing it in urls.py, but the error persists.The app is included in INSTALLED_APPS in settings.py.


Viewing all articles
Browse latest Browse all 14069

Trending Articles